Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 80% výuky zdarma!
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
Avatar
Matyáš Černohous:10.11.2013 20:37

Zdravím,
mám seřazené pole čísel a potřebuji zjistit jestli jsou ty čísla posloupná, nebo nějaké chybí. Zatím mě vůbec nenapadá mě jak bych to mohl zjistit.
Díky za rady

 
Odpovědět
10.11.2013 20:37
Avatar
Odpovídá na Matyáš Černohous
Zdeněk Pavlátka:10.11.2013 20:38

Co myslíš slovem posloupná?

Nahoru Odpovědět
10.11.2013 20:38
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Matyáš Černohous
Jan Vargovský:10.11.2013 20:44

Jde o to jak má být posloupná, jestli geometricky nebo arimeticky.

 
Nahoru Odpovědět
10.11.2013 20:44
Avatar
Odpovídá na Zdeněk Pavlátka
Matyáš Černohous:10.11.2013 20:45

Když budu mít seřazené pole: 1,2,3,4,5,6,8­,9,10,11... tak jak zjisti že tam chybí číslo 7.

 
Nahoru Odpovědět
10.11.2013 20:45
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Matyáš Černohous
Jan Vargovský:10.11.2013 20:50

No to je aritmetická. Tak třeba vezmeš 0 a 1 prvek, zjistíš jaký je koeficient, který se přičítá k číslům a jednoduše jedeš cyklem a kontroluješ.

 
Nahoru Odpovědět
10.11.2013 20:50
Avatar
Odpovídá na Jan Vargovský
Matyáš Černohous:11.11.2013 22:16

Zkusil jsem to udělat takhle, ale nějak se tomu nechce pracovat správně. Teoreticky by to tak ale jít mělo.

        while(chyb != true)
{
    for(int i = 0; i<delkaPole; i++)
    {
            if(pole[i] == chCislo)
            {
                       chCislo++;

            }
            else
             {
                       cout<<chCislo<<endl;
                       chyb = true;
                       break;

                }
                }


}
Editováno 11.11.2013 22:19
 
Nahoru Odpovědět
11.11.2013 22:16
Avatar
Michal Říčan (fussak):12.11.2013 8:17

Tohle by mohlo fungovat.

int a[] = {0,1,2,3,4,5,6,8,9};

int length = sizeof(a)/sizeof(int);

int m = a[1]-a[0];

for(int i = 0; i < (length-1) ; i++)
{
    if ( (a[i+1] - m) == (a[i]) )
    {
        continue;
    }

    else
    {
        cout << "Chybi hodnota = " << (a[i] + m) << endl;
    }

}
Editováno 12.11.2013 8:18
 
Nahoru Odpovědět
12.11.2013 8:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.