Mam o to taki program. Moim problemem jest to, że wartość największa jest wyświetlana prawidłowo, natomiast wartość najmniejsza wynosi zawsze 0. Na czym polega mój błąd i gdzie on występuje?
#include <iostream>
using namespace std;
int tab[100];
int main()
{
int w, dyst, krok, indeks_tablicy = 0;
int najwiekszy, najmniejszy;
do{
cout<<"Wybierz opcje: \n 1.Oblicz liczbe krokow, ktore zrobiles. \n 2. Zakoncz program."<<endl;
cin>>w;
switch(w)
{
case 1: cout<<"Podaj dystans jaki pokonales w metrach"<<endl;
cin>>dyst;
cout<<"Podaj dlugosc swojego kroku w metrach"<<endl;
cin>>krok;
cout<<"Liczba krokow, ktore zrobiles to:"<<dyst/krok<<endl;
tab[indeks_tablicy] = dyst/krok;
indeks_tablicy++;
najwiekszy = tab[0];
najmniejszy = tab[0];
for( int i = 1; i < 100; i++ )
{
if( tab[i] > najwiekszy )
najwiekszy = tab[indeks_tablicy];
if( tab[i] < najmniejszy )
najmniejszy = tab[i];
}
cout<<"Najwieksza liczba to: "<<najwiekszy<<endl;
cout<<"Najmniejsza liczba to: "<<najmniejszy<<endl;
cout<<"Roznica pomiedzy najwieksza a najmniejsza wartoscia wynosi: "<<najwiekszy-najmniejszy<<endl;
break;
case 2: cout<<"Program zakonczony";
break;
default: cout<<"Nie ma takiej opcji";
}
}
while(w!=2);
return 0;
}