Tablica max i min

0

Witam mam problem z minimalną wartością tablicy,maksymalna wychodzi normalnie,a minimalna nie.

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
	srand(time(NULL));
	int tab[5][5];
	int max = tab[0][0];
	int min = tab[0][0];
	for (int i = 0; i < 5; ++i)
	{
		for (int j = 0; j < 5;++j)
		{
			tab[i][j] = rand() % 10;
			cout << tab[i][j] << " ";
			if(tab[i][j]<min)
			{
				min = tab[i][j];
			}
			if(tab[i][j]>max)
			{
				max = tab[i][j];
			}
		}
		cout << endl;
	}
	cout << "max wynosi " << max << "min wynosi " << min;
	getchar();
	return 0;

} 

Pewnie jakiś głupi błąd,ale nie moge go znaleźć.

3

Masz UB w kodzie, odczytujesz niezainicjalizowaną wartość:

int max = tab[0][0];
int min = tab[0][0];
4

Uprzedzając pytanie, fix może np. tak wyglądać:

int max = numeric_limits<int>::min();
int min = numeric_limits<int>::max();

Wcześniej oczywiście wypada dodać

#include <limits>
0

Czyli zrobić takie coś?

int min = numeric_limits<int>::max(); 
0

Sory nie widziałem odp wyżej jak to pisałem.Dziekuje za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1