PDA

View Full Version : سوال: جدا کردن ارقام یک عدد



Faraz Mehraien
شنبه 04 آبان 1392, 18:44 عصر
با سلام.من برنامه ای نوشتم برای اینکه عددی بگیرد و تعداد ارقام آن و ارقام آن را جدا جدا (یکان دهگان ...)را چاپ کند اما درست کار نمی کند یعنی جایی اشکال منطقی داره و به زبان c نوشتم و از کامپایلر dev استفاده می کنم.چه کار باید بکنم؟اینم برنامم
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int a,b;
int i=0;
printf("adady vared konid\n");
scanf("%d",&a);
for( ;a==0;a=(a-b)/10)
b=a%10;
printf("%d",b);
i=i+1;

printf("%d\n",i);
system("PAUSE");
return 0;
}

omidshaman
شنبه 04 آبان 1392, 21:30 عصر
جلقه for کلا مشکل داره اصلا نوشتن for این جوری خیلی مسخرست برای خوانایی بیشتر از while استفاده کنی بهتره .
الگوریتم برنامت هم مشکل داره
اولا که {} بعد از For زو نزاشتی.
دوما این که شرط ادامه حلقه هست که عدد 0 باشه !! در حالی که باید باشه عدد 0 نباشه.
سوما نام گزاری به این شکل درست نیست a b i ,.... بزار مثلا number,remainder,numbersCount

fahimeh1512
شنبه 04 آبان 1392, 21:38 عصر
چیزایی ک اقای omidshaman گفتن درسته
مشکل اصلی ک نمیذاره برنامه ت کارکنه همین شرطهa=0

Faraz Mehraien
یک شنبه 05 آبان 1392, 18:03 عصر
چیزایی ک اقای omidshaman گفتن درسته
مشکل اصلی ک نمیذاره برنامه ت کارکنه همین شرطهa=0
جای a=0 چی بذارم که منطقی کار کنه؟

fahimeh1512
یک شنبه 05 آبان 1392, 18:09 عصر
جای a=0 چی بذارم که منطقی کار کنه؟
اینو بذار ببین کارش چجوریه ک بتونی بقیه مشکلاشم برطرف کن
a!=0

Faraz Mehraien
یک شنبه 05 آبان 1392, 18:13 عصر
اینو بذار ببین کارش چجوریه ک بتونی بقیه مشکلاشم برطرف کن
a!=0

بازم درست کار نمی کنه؟

rahnema1
یک شنبه 05 آبان 1392, 22:12 عصر
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a,b;
int i=0;
printf("adady vared konid\n");
scanf("%d",&a);
for( ;a!=0;b=a%10,printf("%d\n",b),a=(a-b)/10,i++){}
printf("-------\n%d\n",i);
system("PAUSE");
return 0;
}

omidshaman
یک شنبه 05 آبان 1392, 23:18 عصر
تعداد خطوط کمنر بهتر نیست که این جوری for رو می نویسین !
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int number,numbersCount=0;

printf("adady vared konid\n");
scanf("%d",&number);

while(number!=0)
{
printf("%d ",number%10);
numbersCount++;
number /= 10;
}
printf("\nTedad Argham %d\n",numbersCount);

system("PAUSE");
return 0;
}

rahnema1
دوشنبه 06 آبان 1392, 05:37 صبح
[QUOTE=omidshaman;1904315]تعداد خطوط کمنر بهتر نیست که این جوری for رو می نویسین !
[QUOTE]

بذار دلمون خوش باشه!

Faraz Mehraien
دوشنبه 06 آبان 1392, 17:18 عصر
با کمال تشکر .با کمک های خوبتون. مشکل حل شد

ali800
چهارشنبه 18 دی 1392, 23:43 عصر
همین رو با سی شارپ چجوری مینویسین ؟

کامبیز اسدزاده
چهارشنبه 18 دی 1392, 23:46 عصر
همین رو با سی شارپ چجوری مینویسین ؟

در انجمن های C# جستجو کنید : http://barnamenevis.org/showthread.php?99156-%D8%AC%D8%AF%D8%A7-%DA%A9%D8%B1%D8%AF%D9%86-3-%D8%B1%D9%82%D9%85-3-%D8%B1%D9%82%D9%85-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AC%D9%87%D8%AA-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D9%BE%D9%88%D9%84%DB%8C