PDA

View Full Version : راهنمایی کوچک در مورد عدداول



delta_qi
جمعه 21 خرداد 1389, 00:07 صبح
باسلام خدمت اساتید محترم: سوال اینه
برنامه ای بنویسید که 5 عدد را از ورودی گرفته(به عنوان مثال در x1, x2, x3,
x4, x5 بریزد) و محاسبه کند:
اول بودن این اعداد را تشخیص دهد و در صورت غیر اول بودن اعداد، اولین عدد
اول کوچکتر از آن عدد را چاپ کند.
خوب من یه برنامه نوشتم.از اونجایی که من تا همین سطح بلدم میخام با ساده ترین راه حل یه ذره راهنماییم کنید و خطای این برنامه رو برام حذف کنید.ممنون
#include <stdio.h>
int main()
{
int t, i ,x ,j ,y ,k;
for(t=1; t<=5; t++)
{
printf("Enter number:");
scanf("%d",&x);
if(x==1 || x==2)
{
printf("adad aval ast");
goto lable1;
}
for(i=3 ;i<x ;i++)
{
if((x%i)==0)
{
printf("adad aval nist");
goto lable2;
}
}
printf("adad aval ast")
lable2: for(j=1 ;j<x ;j++)
{
y=x-j;
for(k=3 ;k<y ;k++)
{
if((y%k)==0)
{
break
}
goto lable3;
}
}
lable3:printf("%d",y);
lable1:
}
return 0;
}

saber187518
شنبه 22 خرداد 1389, 00:07 صبح
با سلام
دوست عزیز این برنامه که شما نوشتید:
1)اصلا چیزی که شما میخواهید نیست.:چشمک:
2)من به برنامه عدد 6 دادم و برنامه 6 رو عدد اول تشخیص داد.:متعجب:
3)اشکال این برنامه که قرار دادید فقط و فقط نگذاشتن 2 عدد ; است.:لبخندساده:
4)برنامه رو برات می نویسم و میذارم.
موفق باشی

saber187518
شنبه 22 خرداد 1389, 01:01 صبح
با سلام
اینم برنامه تقدیم به شما...


#include <stdio.h>
#include <conio.h>
void main()
{
int x,i,j,k,l;
for (i=1;i<=5;i++)
{
printf ("\nEnter number:\t");
scanf ("%d",&x);
if(x<=0)
{
printf ("adade vared shode sahih nist...");
getch();
i--;
continue;
}
for (j=2;j<=x/2;j++)
if(x%j==0)
break;
if(j>=x/2)
printf ("addad aval ast.\n");
else
{
printf ("adad aval nist. ");
for (k=x-1;k>=1;k--)
{
for (l=2;l<=k/2;l++)
if(k%l==0)
break;
if(l>=k/2)
{
printf("adade aval ghabli=\t%d\n",k);
break;
}
}
}
}
getch();
}

delta_qi
یک شنبه 23 خرداد 1389, 14:44 عصر
آقا دمت گرم آره اون برنامه اولی شوت شوت بود دوباره نشستم یه جدید نوشتم.بابت این برنامه هم ممنون