Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zadanie domowe "Pętla: for"

Ostatnio zmodyfikowano 2017-06-17 21:29
Autor Wiadomość
nizio
Temat założony przez niniejszego użytkownika
Zadanie domowe "Pętla: for"
» 2017-06-17 17:39:15
Ostatnie zadanie domowe z rozdziału "Pętla: for".

Napisałem kod, ale funkcje znajdowania najwyższej oraz najniższej liczby z tablicy nie działają poprawnie.

Czy mógłbym prosić, żeby ktoś wytłumaczył mi jaki popełniłem błąd?

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

void randomNumbers( int t[], int range )
{
    for( int i = 0; i < range; i++ )
         t[ i ] =( rand() % 20 ) + 10;
   
}

void numbersUp( int t[], int range )
{
    for( int i = 0; i < range; i++ )
         cout << t[ i ] << endl;
   
}

void numberDown( int t[], int range )
{
    for( int i =( range - 1 ); i >= 0; i-- )
         cout << t[ i ] << endl;
   
}

int numberMax( int t[], int range )
{
    int max_n = t[ 0 ];
    for( int i = 1; i < range; i++ )
    {
        if( t[ i ] > t[ i - 1 ] )
             max_n = t[ i ];
       
    }
    return max_n;
}

int numberMin( int t[], int range )
{
    int min_n = t[ 0 ];
    for( int i = 1; i < range; i++ )
    {
        if( t[ i ] < t[ i - 1 ] )
             min_n = t[ i ];
       
    }
    return min_n;
}

void printIt( int high, int low )
{
    cout << "Najwieksza liczba to: " << high << endl;
    cout << "Najmniejsza lizba to: " << low << endl;
}

int main()
{
    srand( time( NULL ) );
    int table[ 10 ];
    randomNumbers( table, 10 );
    numbersUp( table, 10 );
    numberDown( table, 10 );
    int max_n = numberMax( table, 10 );
    int min_n = numberMin( table, 10 );
    printIt( max_n, min_n );
    return 0;
}
P-162627
bombatom69
» 2017-06-17 20:55:49
Aktualnie (w obu funkcjach) zmiennej MAX_N przypisywana jest wartość spod indeksu i gdy komórka spod indeksu i jest mniejsza/większa od poprzedniej - ale nie od wszystkich poprzednich. Zatem bez względu na to czy były w komórkach [0..i-2] wartości mniejsze/większe, nowa wartość zostanie przypisana.
P-162637
carlosmay
» 2017-06-17 21:29:21
C/C++
if( max_n < t[ i ] )
     max_n = t[ i ];

P-162639
« 1 »
  Strona 1 z 1