Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
Matyáš Černohous (Matesak):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
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matyáš Černohous (Matesak)
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 (Matesak)
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 (Matesak):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
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Matyáš Černohous (Matesak)
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 (Matesak):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.