Diskuze: pomoc

C++ C a C++ pomoc

Avatar
lukes90
Člen
Avatar
lukes90:

Chtěl bych se zeptat kde mám chybu.

#include <cstdlib>
#include <iostream>
#include <ctime>

using namespace std;

class prvky
{ public:
int cislo;
prvky * dalsi;
prvky(){
dalsi = NULL;
cislo = 0;
}
~prvky(){ delete dalsi;
}
prvky * misto(){
dalsi = new prvky;
return dalsi;
}

};

class seznam
{ public:
prvky zacatek;
prvky *konec;
seznam(){
zacatek = new prvky;
konec = zacatek;
}
~seznam(){
prvky
pomocny;

while (pomocny->dalsi != NULL)

{pomocny = zacatek;
zacatek = pomocny->dalsi;
delete pomocny;
}
}

bool pridej(int i)
{
konec->cislo=i;
konec = konec->misto();
}
void vypis(){
prvky* pomocny;
pomocny = zacatek;
while (pomocny->dalsi != NULL)

{
cout<<pomocny->cislo<<endl;
pomocny=pomocny->dalsi;
}

}

void srovnat(){
prvky* pomocny;
int a,b;

b=1;
while(b!=0){ pomocny = zacatek;
b=0;
while (pomocny->dalsi != NULL){
if
{ a=pomocny->cislo;
pomocny->cislo=pomocny->dalsi->cislo;
pomocny->dalsi->cislo=a;
b++;
}
pomocny= pomocny->dalsi;
}
}
}

void extrem(){
prvky* pomocny;
int a;
a=pomocny->cislo;
cout<<a;
while (pomocny->dalsi != NULL){
if((pomocny->cislo)>a)
{ a=pomocny->cislo;
}
pomocny= pomocny->dalsi;
}
cout<<endl<<"ma­ximum je "<<a<<endl;
}

};

int main(int argc, char *argv[])
{ int i;
seznam list;
cout << "zadej cislo (0 pro koncec)";
cin >>i;
while (i!=0)
{ list.pridej(i);
cin>>i;
}
cout<<"seznam byl naplnen"<<endl;

list.vypis();
cout<<"po srovnani"<<endl;
list.srovnat();
list.vypis();
list.extrem();

system("PAUSE");
return EXIT_SUCCESS;
}
při srovnání mi to tam hází nulu navíc. Prosím nevíte proč?

Editováno 15.1.2015 21:23
 
Odpovědět 15.1.2015 21:21
Avatar
lukes90
Člen
Avatar
Odpovídá na lukes90
lukes90:

Už jsem chybu našel :-).

 
Nahoru Odpovědět 15.1.2015 23:04
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 2 zpráv z 2.