Cześć, moim zadaniem jest pobranie 10 wartości wpisanych przez użytkownika a następnie wyświetlenie wartości minimalnej i maksymalnej. Po wykonaniu operacji program pyta użytkownika czy ten ma zakończyć działanie programu bądź je ponowić. Pierwsza operacja po wlączeniu programu jest wykonywana poprawnie i poprawnie wyświetla wartość min i max natomiast po ponowieniu programu w wartości max pojawiają się dziwnie wielkie wartości. Czym jest to spowodowane?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int liczba;
int max;
int min;
char wybor;
while(i < 10){
printf("Podaj wartosc nr %d: ", i+1);
scanf("%d",&liczba);
getchar();
if(liczba > max){
max = liczba;
}
if(liczba < min){
min = liczba;
}
i++;
}
for(i = 1; i < 10; i++){
if(liczba > max){
max = liczba;
}
if(liczba < min){
min = liczba;
}
}
printf("\nNajwieksza liczba to: \n%d\n",max);
printf("\nNajmniejsza liczba to: \n%d\n",min);
do{
printf("\nCzy chcesz zakonczyc program czy uruchomic go ponownie?\n");
printf("\nWprowadz wartosc: \n");
printf("T - aby uruchomic program ponownie");
printf("\nN - aby zakonczyc dzialanie programu\n");
scanf("%c",&wybor);
getchar();
}while(wybor != 'T' && wybor != 't' && wybor != 'N' && wybor != 'n');
if(wybor == 'T' || wybor == 't'){
printf("\nProgram zostal uruchomiony ponownie\n");
main();
}
else if(wybor == 'N' || wybor == 'n'){
printf("\nProgram zostal zakonczony\n");
}
return 0;
}