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

Długość najdłuższego podciągu nierosnącego.

Ostatnio zmodyfikowano 2017-10-07 13:51
Autor Wiadomość
Roud
Temat założony przez niniejszego użytkownika
Długość najdłuższego podciągu nierosnącego.
» 2017-10-07 11:59:26
Witam. Mam do napisania program, który wypisze mi długość najdłuższego podciągu nierosnącego. Nie wiem jak dokończyć to. Prawdopodobnie nawet zrobiłem to od złej strony :D Proszę o pomoc.
C/C++
#include <iostream>

using namespace std;

int main()
{
    int n, i;
    cout << "podaj n ";
    do {
        cin >> n;
        if( n < 2 )
             cout << "dla podanego n nie mozna utworzyc ciagu ";
       
    } while( n < 2 );
   
    int wyrazciagu[ n ];
   
    for( i = 0; i < n; i++ )
    {
        cin >> wyrazciagu[ i ];
    }
    for( i = 0; i < n; i++ )
    {
        cout << wyrazciagu[ i ] << "  ";
    }
    cout << "\n";
    int tab[ n ];
    int dlugosc = 1;
    for( i = 0; i < n; i++ )
    {
        if( wyrazciagu[ i ] > wyrazciagu[ i + 1 ] )
             dlugosc++;
        else
        {
            tab[ i ] = dlugosc;
        }
    }
    for( i = 0; i < n; i++ )
    {
        cout << i + 1 << "-ta dlugosc wynosi " << tab[ i ] << "\n";
    }
    int max = tab[ 0 ];
    for( i = 0; i < n - 1; i++ )
         if( max < tab[ i ] ) max = tab[ i ];
   
    cout << "max wynosi " << max;
   
}
P-165496
pekfos
» 2017-10-07 13:48:42
Nie potrzeba do tego tablic.

C/C++
int wyrazciagu[ n ];
Ta tak się tablic nie tworzy.

C/C++
int wyrazciagu, poprzedni_wyrazciagu = /* ... */, dlugosc_ciagu = 0, max_dlugosc_ciagu = 0;

for( int i = 0; i < n; i++ )
{
    cin >> wyrazciagu;
    // ...
}

std::cout << "długość najdłuższego podciągu nierosnącego: " << max_dlugosc_ciagu << std::endl;
P-165502
Saran
» 2017-10-07 13:51:29
int tab[ n ];

A l b o 'n' musi być stałą,
a l b o użyj pojemników dynamicznych,
std::vector <>
P-165503
« 1 »
  Strona 1 z 1