با سلام و خسته نباشید
برنامه ی زیر رو برای دریافت دو عدد به صورت کاراکتر و تبدیل کردنشون به عدد و سپس نمایششون نوشتم. منتهی زمانی که به:
read(b,d,size2);
میرسه، اجراش نمیکنه و از پنجره ی cmd بیرون میزنه. وقتی این دستور رو پاک میکنم برنامه به درستی اجرا میشه، اما این دستور مشکل ایجاد میکنه و هرچی فکرکردم متوجه نشدم دلیلش چی هست. لطفا راهنماییم کنید و هرچه زودتر بهم جواب بدید.
باتشکر

#include<iostream>
using namespace std;
const long MAX=1000;
void read(char [],long [],long&);
void print(long [],long);
int main()
{
char a[MAX];
char b[MAX];
long c[MAX]={0};
long d[MAX]={0};
long size1;
long size2;
cout<<"First Integer:"<<endl;
read(a,c,size1);
cout<<"Second Integer:"<<endl;
read(b,d,size2);
print(c,size1);
print(d,size2);
cin.get();
cin.get();
}
void read(char x[],long y[],long& n)
{
n=0;
cin.get(x,MAX);
while(n<MAX)
{ if(x[n]=='\0') break;
else{
y[n]=x[n]-'0';
n++;
}
}
}
void print(long x[],long n)
{
for(int i=0;i<n;i++)
cout<<"x["<<i<<"]="<<x[i]<<endl;
}