PDA

View Full Version : فراخوانی تابع



oloom1386
دوشنبه 23 آذر 1388, 20:09 عصر
سلام دوستان به نظرتون چرا این برنامه تابع tam و maghlub رو فراخوانی نمیکنه
(می خوام کلیه اعداد چهاررقمی که هم تام هستند و هم مقلوب پذیر(؟؟!!) رو با هم جمع کنم )میشه بگین الگوریتمو درست نوشتم یا نه،راستی برنامه اجرا میشه ولی اشتباه جواب میده ممنونم ازتون:خجالت:


#include<stdio.h>
#include<conio.h>
int TAM(int);
int maghlub(int);
main()
{
int i,j,k,l,sum=0;
int x,t,z,c=0;
clrscr();
printf("\n\n");
for(i=1;i<=2;i++)
{
for(j=0;j<=2;j++)
{
for(k=0;k<=2;k++)
{
for(l=0;l<=2;l++)
{
x=1000*i+100*j+10*k+l;
while (TAM(x)&&maghlub(x))
{
sum+=x;
c++;
printf("x=%d ",x);
printf("\n sum= %d ",sum);
}
}
}
}
}
getch();
return 0;
}
//*********************************
int TAM(int a)
{
int i,s=0;
for(i=1;i<=a/2;i++)
if (!(a%i))
s+=i;
if(s==a)
return 1;
else return 0;
}
//**********************************
static int r;
int maghlub(int a)
{
int i=0;
while(a!=0)
{
r=a%10;
a/=10;
i++;
}
return 1;
}