Witam!
Mam problem, otóż warunek IF spelnia się pomimo, że jego warunek nie jest spełniony. Proszę o pomoc, która wyjasni tę zagadkę :)
if (pi % i == 0 && pi ==4)
{
temp = 0;
}
Nawet, jeżeli pi jest równe 4 to i tak nie nadaje temp wartosci 0.
Tutaj jest cały kod:
#include <stdio.h>
#include <stdlib.h>
int prime(int pi)
{
int temp, i;
temp = 1;
for (i = (pi / 2); i > 2; i--)
{
if (pi % i == 0 || pi == 4)
{
temp = 0;
}
return temp;
}
}
int main()
{
int n, cos;
scanf("%d", &n);
do
{
scanf("%d", &cos);
if (prime(cos))
{
puts("tak ");
}
else
{
puts("nie");
}
n--;
} while (n != 0);
system("PAUSE");
return 0;
}
Z góry dziękuję za pomoc!