Sprawdzenie parzystości ... problem z %
Ostatnio zmodyfikowano 2012-10-15 14:02
wisien92 Temat założony przez niniejszego użytkownika |
Sprawdzenie parzystości ... problem z % » 2012-10-15 12:42:25 robie zadanie na spoj ktory jezeli liczba jest parzysta robi cos a jezeli niepazysta to co innego ... sprawdzam parzystosc za pomoca dzielenia przez 2 i jezeli jest reszta 0 to parzysta jezeli nie to nie parzysta problemem jest to ze jezeli wypisuje a=s%2; to dla s =2 wychodzi mi 290342 (lub coś około tego) i teraz pytanie dlaczego? #include <stdio.h> #include <stdlib.h> #include <math.h>
int spr_parz(int s,int a) { a=s%2; // ta linijka daje mi dziwny wynik ... return 0; }
int main(int argc, char *argv[])
{ int t,s,a; int x0,xn; scanf("%d",&t); while(t--) { scanf("%d",&s); spr_parz(s,a); printf("%d \n",a);//tutaj sprawdzam to podejrzane a if(s>=1 && s<=1000) // sprawdzamy czy liczba s spełnia warunki zadania { if(a==0)//jeżeli liczba parzysta { printf("Parzysta\n"); } else //jeżeli liczba nieparzysta { printf("Nieparzysta\n") ; } } else { printf("Liczba s nie mieści się w przedziale"); } } system("PAUSE"); return 0; }
|
|
jsc |
» 2012-10-15 14:02:09 Problem polega na tym, że spr_parz korzysta ze zmiennych lokalnych. To ci powinno trochę rozjaśnić sprawę: Funkcje - pierwsze starcie |
|
« 1 » |