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, botów: 0