Diskuze: C++ lineární spojový seznam - úkol
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Využiju toho co mám, ne?
stačí proiterovat celý seznam a nechávat si pointer na ten s nejnižším
věkem.
Clovek* NajdiSNejnizsimVekem(Clovek* prvni)
{
Clovek* nejmensi = prvni;
Clovek* aktualni = prvni;
do
{
if (nejmensi->vek > aktualni->vek)
nejmensi = aktualni;
aktualni = (aktualni->dalsi);
} while (aktualni != nullptr);
return nejmensi;
}
Mám to podobně:
Clovek* NajdiSNejnizsimVekem(Clovek* prvni)
{
Clovek* current = prvni;
Clovek* nejmensi = current;
do
{
if (nejmensi->vek > current->vek)
{
nejmensi = current;
}
current = (current->dalsi);
}
while (current != nullptr);
return nejmensi;
}
Ale nechce mi to vypsat.. A nějak nevím, kde je přesně chyba..
Když jsem měla vyhledat lidi, kteří váží více jako 100kg, tak jsem to volala stejně.. Ale teď mi to nechce vypsat.
void main()
{
for (int i=0;i<2;i++)
{
Clovek* novy = new Clovek;
nactiCloveka(novy);
if (prvniPrvek == nullptr)
{
prvniPrvek = novy;
}
else
{
vlozDoSeznamu(prvniPrvek,novy);
}
cout << "Clovek byl vlozen do seznamu." << endl;
}
cout << endl;
cout << "Vypisuji seznam:" << endl;
NajdiSNejnizsimVekem(prvniPrvek);
/*// Vsichni jsou uz jiz nacteni, vypis cely seznam
vypisCelySeznam(*prvniPrvek);*/
// Koncime praci s programem, takze smazeme seznam
smazCelySeznam(prvniPrvek);
int c;
cin >> c;
smazCelySeznam(prvniPrvek);
}
Protože ho nikde nevypisuješ...
Clovek* clovek = NajdiSNejnizsimVekem(prvniPrvek);
cout << clovek->vek << endl;
Jo vlastně.. Děkuju moc!
A ještě otázka - vypíše mi to jen věk. Ale potřebovala bych s tím věkem
vypsat i jméno a váhu.
Tak využij te funkce, kterou už jsi naprogramovala, ne?
Clovek* clovek = NajdiSNejnizsimVekem(prvniPrvek);
vypisCloveka(*clovek);
Zobrazeno 8 zpráv z 8.