Ovako sam ja uradio, compiler mi ne javlja nikakvu gresku, samo program nece da radi kako treba...
Ako moze savjet oko toga gde sam nesto ispustio ili napravio gresku...
Code:
#include <stdio.h>
#include <stdlib.h>
main()
{
int a, b, sj, sd, dj, dd;
printf("Unesite dva broja: ");
scanf("%d %d", &a, &b);
for(sj=1, dj=2; dj<=a/2;dj++)
if(a%dj==0)
sj+=dj;
for(sd=1, dd=2; dd<=a/2;dd++)
if(b%dd==0)
sd+=dd;
if(sj==b && sd==a)
printf("Brojevi %d i %d su prijateljski.", a, b);
else
printf("Brojevi %d i %d nisu prijateljski.", a, b);
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
main()
{
int a, b, sj, sd, dj, dd;
printf("Unesite dva broja: ");
scanf("%d %d", &a, &b);
for(sj=1, dj=2; dj<=a/2;dj++)
if(a%dj==0)
sj+=dj;
for(sd=1, dd=2; dd<=a/2;dd++)
if(b%dd==0)
sd+=dd;
if(sj==b && sd==a)
printf("Brojevi %d i %d su prijateljski.", a, b);
else
printf("Brojevi %d i %d nisu prijateljski.", a, b);
system("pause");
}
EDIT: Eto, u roku od 5 minuta ja nadjem gresku... Naime, greska je u granici drugog brojaca, gornja granica treba da bude
Code:
b/2
, a ne b/2
Code:
a/2
, kao sto sam ja napisao...a/2
Scio me nihil scire...