ورود

View Full Version : تبدیل عدد به آرایه



Collector
شنبه 21 مرداد 1391, 12:20 عصر
سلام
من عدد 123456789 را دارم و میخوام آن را در آرایه عددی قرار بدم چکار باید بکنم.

ورودی 123456789

خروجی



int X[9];
X[0]= 1;
X[1]= 2;
X[2]= 3;
X[3]= 4;
X[4]= 5;
X[5]= 6;
X[6]= 7;
X[7]= 8;
X[8]= 9;

tdkhakpur
شنبه 21 مرداد 1391, 12:54 عصر
از روش معکوس کردن اعداد استفاده کن مثل این

#include <vcl.h>
#include <stdio.h>
#include <conio.h>
int ReversNum(int num)
{
int tmp;
tmp = 0;
while (num!=0)
{
tmp *=10;
tmp += num%10;
num /=10;
}
num = tmp;
return num;
}

int main(int argc, char* argv[])
{
int num=124563, arr[100], c=0;
num = ReversNum(num);
while (num!=0)
{
arr[c++] = num%10;
num /=10;
}
for(int i=0; i<c; i++)
printf("\n %d", arr[i]);
getch();
return 0;
}
//---------------------------------------------------------------------------

تابع عدد رو معکوس میکنه و داخل main دوباره از روش معکوس عددها رو داخل آرایه قرار میده

hadi0x7c7
شنبه 21 مرداد 1391, 23:14 عصر
در فروم های خارجی این جور پست گذاشتن شدیدا مورد سرزنش قرار میگیره ! بهتره نمونه ای از تلاش خودتون هم بذارید.

اینم یه طور دیگه !
بدون محدودیت طول عدد

#include <stdio.h>

int f(int a[])
{
int ch;
int i = 0;
while((ch = getchar()) != '\n') {
a[i++] = ch - '0';
}

return i;
}

int main()
{
int a[100];
int len;

len = f(a);
int i ;
for(i = 0; i < len; i++)
printf("%d\n", a[i]);
}