[ yoMas @ 13.01.2011. 12:10 ] @
Napisati program koji ce ucitati niz brojeva. Oznaka za kraj niza je 0. Treba odrediti i ispisati duzinu najduzeg neopadajuceg podniza

Npr> za niz : 3 8 9 2 1 8 7 9 9 10 11 3 2 0 najduzi neopadajuci niz je duzine 5 elemenata.
[ itf @ 13.01.2011. 12:20 ] @
Rješenje: http://www.elitesecurity.org/t76765-Pravilnik-za-forum
[ Rato iks de @ 13.01.2011. 17:25 ] @
Code:
#include <iostream>
using namespace std;

int main()
{
    int niz[100], i, d, broj;
    broj = 0; d=0; 
    
    cout<<"Unesite niz: ";
    while (1)
    {
          cin>>niz[d];
          if (niz[d] == 0)
          {   
              break;
             }
          d++;   
             }
             
    for (i=1; i<d; i++)
    {
        if (niz[i] < niz[i+1])  //da li je svaki naredni broj manji od prethodnog
             broj++;            //ako jeste broj(varijablu) povecaj, tj. prebroj te brojeve iz niza 
             }
             
   cout<<"Duzina neopdajuceg niz je : " << broj << "." << endl;
   
system("PAUSE");
return 0;
}


"Najbolje se uci kad se covjek muci.",rekao je jednom jedan sad ne mogu da se sjetim tacno...Ali jeste sigurno,nekad,negdje.... ;)
[ chaami @ 21.01.2011. 21:43 ] @
Zanimljivo ... ali ovaj kod gore ne radi kako treba.
Mislim da mu treba manja izmena.
Code:
#include <iostream>

using namespace std;

int main()
{
    int niz[100], d=0;


    cout<<"Unesite niz: ";
    while (1)
    {
          cin>>niz[d];
          if (niz[d] == 0)
          {
              break;
          }
          d++;
    }
    int maxn=0, broj=1;
    for (int i=0; i<(d-1); i++)
    {
        if (niz[i] <= niz[i+1])
             broj++;
        else
        {
            if (broj>maxn)maxn=broj;
            broj=1;
        }
    }

    cout<<"Duzina neopadajuceg niz je : " << maxn << "." << endl;

    system("PAUSE");
    return 0;
}