Po ukończeniu poprzednich zadań, z którymi miałem problemy poszedłem troszkę dalej. Napisałem program, który:
- losuje 10 liczb z przedziału 10 - 30
- Wypisuje je od pierwszej do ostatniej
- Wypisuje je od ostatniej do pierwszej
- Wypisuje najmniejszą z wylosowanych wartości
- Wypisuje największą z wylosowanych wartości
Ale z ostatnim zadaniem jest jakiś problem, którego nie potrafię wyjaśnić. Wygląda to tak:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int losuj( int t[], int ile )
{
for( int licznik = 0; licznik < ile; licznik++ )
t[ licznik ] = ( rand() % 20 ) + 10;
return t[ ile ];
}
void wypiszOdPoczatku( int t[], int ile )
{
for( int licznik = 0; licznik < ile; licznik ++ )
cout << "Liczba " << licznik + 1 << ": " << t[ licznik ] << endl;
}
void wypiszOdKonca( int t[], int ile )
{
for( int licznik = ile - 1; licznik >= 0; licznik-- )
cout << "Liczba " << licznik + 1 << ": " << t[ licznik ] << endl;
}
int Minimalna( int t[] , int ile )
{
int Min = t[ 0 ];
for( int licznik = 1; licznik <= ile; licznik++ )
{
if( Min > t[ licznik ] )
Min = t[ licznik ];
}
return Min;
}
int Maxymalna( int t[], int ile )
{
int Max = t[ 0 ];
for( int licznik = 1; licznik <= ile; licznik++ )
{
if( Max < t[ licznik ] )
Max = t[ licznik ];
}
return Max;
}
int main()
{
srand( time( NULL ) );
int tablica[ 10 ];
int ilosc = 10;
tablica[ 10 ] = losuj( tablica, ilosc );
wypiszOdPoczatku( tablica, ilosc );
wypiszOdKonca( tablica, ilosc );
int Najmniejsza = Minimalna( tablica, ilosc );
int Najwieksza = Maxymalna( tablica, ilosc );
cout << "Liczba Minimalna: " << Najmniejsza << endl;
cout << "Liczba Maxymalna: " << Najwieksza << endl;
return 0;
}