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

Rozdział 22 - najwiekszy element tablicy [rozwiazane]

Ostatnio zmodyfikowano 2016-10-25 11:24
Autor Wiadomość
majsterfun
Temat założony przez niniejszego użytkownika
Rozdział 22 - najwiekszy element tablicy [rozwiazane]
» 2016-10-25 11:24:01
C/C++
#include <iostream>
#include <cstdio>
#include <ctime>
#include <cstdlib>
using namespace std;


int wpisywanie_tablica( int t[], int n )
{
    int i = 0;
    do
    {
        t[ i ] =(( rand() % 80 ) + 1 );
        i++;
    } while( i < n );
   
}

int wypisz( int t[], int n )
{
    int i = 0;
    cout << "Twoje liczby to: ";
    do
    {
        cout << t[ i ] << ", ";
        i++;
    } while( i < n );
   
}

int dodawanie_tablicy( int t[], int n )
{
    int i = 0;
    int suma = 0;
    do
    {
        suma = suma + t[ i ];
        i++;
    } while( i < n );
   
    cout << "Suma liczb: " << suma;
}

int iMax( int t[], int n )
{
    int i = 0;
    int najwiekszy = 0;
   
    do
    {
        if( t[ i ] < t[ i++ ] )
             najwiekszy = t[ i ];
       
        i++;
    } while( i < n );
   
    return najwiekszy;
}



int main()
{
    int p = 0;
    int iMaxi = 0;
    srand( time( NULL ) );
    cout << "Podaj rozmiar tablicy" << endl;
    cin >> p;
    int tablica[ p ];
    wpisywanie_tablica( tablica, p );
    cout << endl;
    wypisz( tablica, p );
    cout << endl;
    dodawanie_tablicy( tablica, p );
    cout << endl;
    iMaxi = iMax( tablica, p );
    cout << iMaxi;
   
    return 0;
}

Według mnie wszystko powinno chodzić, dlaczego po wywołaniu programu zwraca mi wartość 0?
Chodzi o tą funkcje:
C/C++
int iMax( int t[], int n )
{
    int i = 0;
    int najwiekszy = 0;
   
    do
    {
        if( t[ i ] < t[ i++ ] )
             najwiekszy = t[ i ];
       
        i++;
    } while( i < n );
   
    return najwiekszy;
}


Ok, problem rozwiązany, zmieniłem algorytm porównując resztę tablicy z jej pierwszym elementem
C/C++
int iMax( int t[], int n )
{
    int i = 0;
    int najwiekszy;
    najwiekszy = t[ 0 ];
    do
    {
        if( t[ i ] > najwiekszy )
             najwiekszy = t[ i ];
       
        i++;
    } while( i < n );
   
    return najwiekszy;
}
P-152907
« 1 »
  Strona 1 z 1