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

c++ Czy liczby w tablicy sa ustawione w porządku rosnącym?

Ostatnio zmodyfikowano 2016-02-02 23:33
Autor Wiadomość
Barnak
Temat założony przez niniejszego użytkownika
c++ Czy liczby w tablicy sa ustawione w porządku rosnącym?
» 2016-02-02 20:20:21
Witam funkcja mająca to rozwiązać działa nieprawidłowo
czy ktoś mógłby rzucić na to okiem?





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


using namespace std;


void generuj( int n, int t[] )
{
    for( int i = 0; i < n; i++ )
         t[ i ] = rand() % 100;
   
}

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

bool czy_rosnacy( int n, int t[] )
{
   
    for( int i = 0; i < n - 1; i++ )
    {
        if( t[ i ] < t[ i + 1 ] )
             return true;
        else
             return false;
       
    }
   
}

int main()

{
   
    int n;
    cout << "podaj wymiar tablicy" << endl;
    cin >> n;
    int t[ n ];
   
    srand( time( NULL ) );
    generuj( n, t );
    wypisz( n, t );
   
    if( czy_rosnacy( n, t ) == true )
         cout << "liczby podane sa w porzadku rosnacym" << endl;
    else
         cout << "liczby nie sa podane w porzadku rosnacym" << endl;
   
    return 0;
}
P-144358
Rashmistrz
» 2016-02-02 20:25:49
w funkcji czy_rosnacy sprawdzana jest
wyłącznie para pierwszych elementów.

Zwrócić prawdę powinieneś po zakończeniu pętli,
a zwrócić tam fałsz gdy zostanie
znaleziona nieprawidłowość.
P-144359
Barnak
Temat założony przez niniejszego użytkownika
» 2016-02-02 21:06:37
Dzięki może teraz uda się to rozwiązać:)
P-144363
kmlkamilek
» 2016-02-02 23:33:07
C/C++
bool czy_rosnacy( int n, int t[] )
{
    for( int i = 0; i < n - 1; i++ )
    {
        if( t[ i ] < t[ i + 1 ] )
             continue;
        else
             return false;
       
    }
    return true;
}

Spróbuj tego. Prześledź jak działa. Porównaj ze swoim. Wyciągnij wnioski.
P-144395
« 1 »
  Strona 1 z 1