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

[C++] Algorytm sekwencji kolejnych liczb całkowitych

Ostatnio zmodyfikowano 2013-06-22 15:28
Autor Wiadomość
bnk120
Temat założony przez niniejszego użytkownika
[C++] Algorytm sekwencji kolejnych liczb całkowitych
» 2013-06-19 17:56:16
Witam. Potrzebuję podpowiedzi z jednym zadaniem. Treść tego zadania brzmi tak : "Uzupełnij tablicę tab[5] dowolnymi liczbami całkowitymi. Wypisz sekwencje kolejnych liczb, np. w tablicy tab[5] = { 1,2,3,4,5 } sekwencjami są : 1 2, 1 2 3, 1 2 3 4, 1 2 3 4 5, 2 3, 2 3 4, 2 3 4 5, 3 4, 3 4 5, 4 5. "
Tyle udało mi się wyłuskać:
C/C++
#include <iostream>

using namespace std;

int main()
{
    int tab[ 5 ];
    int flaga;
    for( int i = 0; i < 5; ++i )
         cin >> tab[ i ];
   
    for( int k = 0; k < 5; ++k )
    {
        flaga = tab[ k + 1 ];
        if( flaga - tab[ k ] == 1 )
        {
            cout << tab[ k ] << " " << flaga << endl;
            for( int i = k + 1; i < 5; ++i )
            {
                if( tab[ i + 1 ] - flaga == 1 )
                {
                    cout << tab[ k ] << " " << flaga << " " << tab[ i + 1 ] << endl;
                    flaga = tab[ i + 1 ];
                   
                }
            }
        }
    }
    system( "PAUSE" );
    return 0;
}
Nie chodzi mi o rozwiązanie, tylko o naprowadzenie...
P-85821
cichociemny
» 2013-06-20 00:38:54
Kierunek myslenia prawidlowy, przydatna zagniezdzona petla for, ale przekombinowales . Po co to cin I flaga ?
ps
Jesli cin to popros uzytkownika o wprowadzenie swoich 5 liczb do tablicy
P-85846
unimator
» 2013-06-22 15:28:23
Daję gotowy kod bo nie umiem tego słownie wytłumaczyć. Zresztą - mówi sam za siebie.
C/C++
void wypisz_sekwencje( int *, int, int ); //tablica (source), pierwszy element, ilosc

int main()
{
    const int tab_size = 5;
    int tab[ tab_size ] = { 1, 2, 3, 4, 5 };
   
    for( int i = 0; i < tab_size; ++i )
    {
        for( int j = 2; j <= tab_size - i; ++j )
        {
            wypisz_sekwencje( tab, i, j );
        }
    }
    return 0;
}

void wypisz_sekwencje( int * tab, int first, int q )
{
    for( int i = 0; i < q; ++i )
    {
        printf( "%u ", tab[ first + i ] );
    }
    printf( "\n" );
}
P-85954
« 1 »
  Strona 1 z 1