Największa liczba - Nieuzasadniony wynik

1

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;
}

screenshot-20181006183141.png

1

w funkcji maxymalna musisz w petli for zmniejszyc zmienna ile-1
albo w petli for zrobic licznik<ile
inaczej ci wychodzi poza index

3

jakby kazdy poczatkujacy tak formatowal kod... och jakie to by bylo piekne

w Minimalna i Maksymalna wychodzisz po za zakres tablicy.

0

Jeszcze tylko dodam, że to by się nie wydarzyło, Gdybyś nie programował na białym tle:)

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