وقتی شما عدد رو به صورت رشته از کاربر می گیرین یعنی هر خونه آرایه یه حرف هست. اگه بخوایم '0' رو که یه حرف هست به 0 که یه عدده تبدیل کنیم اون رو منهای 48 می کنیم چون کد اسکی صفر، 48 ه، واسه همین باید اگه 48 تا ازش کم کنیم میشه 0 عددی.
تابع input خیلی راحت تر از add و ایناست. شما یه آرایه کاراکتری اینطوری رو در نظر بگیرین:
حالا اگه بخوایم از این آرایه استفاده کنیم و جمع و تفریق و اینها راحت باشن برامون، میایم از یه آرایه کمکی استفاده می کنیم مثلا. بعد با یه حلقه عدد رو از آخر به اول میذاریم توی آرایه کمکی.
کد:
int number1[40]={0};
for (int i=39;i>=0;i--)
{
number1[i]=num1[i]-48;
}
همین. حالا این آرایه رو میتونین به راحتی استفاده کنین. این که چرا از همون اول آرایه رو به صورت int نگیریم، علتش این هستش که اونطوری نمیشه با دستور مستقیم cin کل عدد رو یکجا گرفت. توی output هم دقیقا همین کار رو انجام میدیم فقط برعکسش رو. این کار رو هم انجام میدیم که آخرش بتونیم بنویسیم cout. فقط دقت کنین که باید آخر رشته رو با '0\' مشخص کنین.