Otóż przy wykonywaniu zadania z kursu napotkałem mały błąd. Otóż mam takie zadanie:
Napisz program który wykona wszystkie poniższe kroki w podanej kolejności:
Losuje 10 liczb z przedziału od 10 do 30 włącznie i zapisuje je do tablicy;
Wypisuje 10 wylosowanych liczb od początku do końca;
Wypisuje 10 wylosowanych liczb od końca do początku;
Znajduje najmniejszą oraz największą wylosowaną liczbę.
Wypisuje najmniejszą i największą wylosowaną liczbę.
Program nie może używać pętli innych niż pętla for.
Kod, który napisałem:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void wylosujLiczby(int tablica[], int ile)
{
srand(time(NULL));
for(int i=0; i<ile; i++)
{
tablica[i] = (rand()%21)+10;
}
}
void wypiszTablice(int tablica[], int ile)
{
for(int i=0; i<ile; i++)
{
cout << tablica[i] << " ";
}
cout << endl;
}
void wypiszTabliceOdTylu(int tablica[], int ile)
{
for(int i=10; i>=0; i--)
{
cout << tablica[i] << " ";
}
}
int znajdzMinimum(int tablica[], int ile)
{
int max = tablica[0];
for(int i=0; i<ile; i++)
{
if(tablica[i]<max)
{
max = tablica[i];
}
}
return max;
}
int znajdzMaksimum(int tablica[], int ile)
{
int max = tablica[0];
for(int i=0; i<ile; i++)
{
if(tablica[i]>max)
{
max = tablica[i];
}
}
return max;
}
void wypiszMinMax(int min, int max)
{
cout << endl << "Najmniejsza liczba to: " << min;
cout << endl << "Najwieksza liczba to: " << max;
}
int main()
{
int tablica[ 10 ];
wylosujLiczby( tablica, 10 );
wypiszTablice( tablica, 10 );
wypiszTabliceOdTylu( tablica, 10 );
int iMin = znajdzMinimum( tablica, 10 );
int iMax = znajdzMaksimum( tablica, 10 );
wypiszMinMax( iMin, iMax );
return 0;
}
Otóż działa wszystko jak należy lecz między liczbami z tablicy wypisanymi normalnie i od końca pojawia się liczba 74 i nie mam pojęcia jak wyeliminować ten błąd :/