[C] - Najmniejszy i największy element tablicy


(Krzychu_93) #1

Witam,

oto kod mojego programu:

#include 

#include 

#include 

/* run this program using the console pauser or add your own getch, system("pause") or input loop */


int main(int argc, char *argv[]) {

	srand(time(NULL));

	int dz,gz,rt;

	printf("Podaj rozmiar tablicy: ");

	scanf("%i",&rt);

	printf("Podaj dz: ");

	scanf("%i",&dz);

	printf("Podaj gz: ");

	scanf("%i",&gz);


	int tab[rt]; int i; int max=0; int min=0;


	for(i=0;i
		tab[i]=dz+rand()%(gz-dz+1);

	}



	for(i=0;i
		printf("%i ",tab[i]);

	}	


	printf("\n");

	//maksymalny element tablicy

	for(i=0;i
		if(max
			max=tab[i];

		}

	}

	printf("max = %i",max);


	printf("\n");

	//minimalny element tablicy


	for(i=0;i
		if(min>tab[i]){

			min=tab[i];

		}

	}

	printf("min = %i",min);

	return 0;

}

Problem polega na tym, że źle mi wyznacza minimalną wartość, jakimś cudem udało mi się wyznaczyć max a tego minimum nie mogę ruszyć za nic po prostu, totalny brak pomysłu w skrócie. Mógłby mnie ktoś naprowadzić na poprawny tok myślenia ?


(Drobok) #2

Inicjuj zmienne pierwszymi elementami tablicy, a nie określonymi wartościami (w twoim wypadku 0)


(Krzychu_93) #3

Zadziałało dzięki wielkie, mógłbyś jeszcze mi wyjaśnić dlaczego w tym kodzie program poprawnie wyznaczał mi maksymalną wartość ?


(Drobok) #4

Podaj ujemny przedział / przedział zawierający 0 to zobaczysz co będzie się działo :slight_smile: