Długość najdłuższego podciągu nierosnącego.
Ostatnio zmodyfikowano 2017-10-07 13:51
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. #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; }
|
|
pekfos |
» 2017-10-07 13:48:42 Nie potrzeba do tego tablic. Ta tak się tablic nie tworzy. 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;
|
|
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 <> |
|
« 1 » |