Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
Aktualizovali jsme provozní podmínky. Pokračováním užívání sítě s nimi projevíte souhlas.
BF extended 2022

Diskuze: Lineární spojový seznam

Aktivity
Avatar
Tamiris Meirmanova:3.4.2020 13:14

Zdravím,

prosím o pomoc!!! Mohl by mi někdo říct, proč mi v kodu píše Use of undeclared identifier UsporadanySeznam

tady je main

#include <iostream>
#include "UsporadanySeznam"
using namespace std;

/*Ukazka testovaci funkce pro metodu najdiPrvek() /
void vypisPrvek(Us­poradanySeznam &t, int klic)
{
Prvek
p = t.najdiPrvek(klic);
if (p)
{
cout << "Nalezen prvek: ";
cout << "(" << p->klic << "," << p->hodnota << ") ";
cout << endl;
}
else
cout << "Prvek " << klic << " nenalezen. \n";
}

void test()
{
UsporadanySeznam t;

/* Vkladani prvku: */
t.vlozPrvek(9, "pracovni stul");
t.vlozPrvek(3, "kancelarska zidle");
t.vlozPrvek(6, "PC");
t.vlozPrvek(6, "notebook");
t.vlozPrvek(12, "lampa");

t.vypis();

/* Nalezeni prvku: /
Prvek
p = t.najdiPrvek(9);
if (p)
cout << "Prvek 9 nalezen.\n";
else
cout << "Prvek 9 nenalezen.\n";
vypisPrvek(t, 9);
vypisPrvek(t, 1);

/* Smazani prvku: */
t.smazPrvek(10);
t.smazPrvek(12);
t.smazPrvek(6);
t.smazPrvek(3);
t.smazPrvek(9);
t.smazPrvek(3);

t.vypis();
}

int main()
{
test();
return 0;
}

Zkusil jsem: #include "UsporadanySez­nam.h"

UsporadanySez­nam::Usporada­nySeznam()
{
prvni = new Prvek();
zarazka = prvni;
}

UsporadanySez­nam::~Usporada­nySeznam()
{
Prvek* P;
P = prvni;
while (prvni != zarazka)
{
P = prvni;
prvni*= prvni->
delete p;
}
}

void UsporadanySez­nam::najdiPrvek(int klic)
{
Prvek* p = prvni;
while (p != zarazka && klic < p->klic)
{
p = p->dalsi;
if (p != zarazka && klic == p ->klic)
{
return p;
}
return nullptr;
}
}

Prvek* UsporadanySez­nam::vlozPrvek(int klic, const std::string& hodnota)
{
if(prvni == zarazka || klic < prvni->klic)
{
Prvek *p = new prvek;
p->dalsi = prvni;
prvni = p;
return;
}

Prvek p = prvni;
if ( prvni -> klic > klic || prvni == zarazka)
{
Prvek
n = new Prvek();
n -> klic = klic;
n -> hodnota = hodnota;
n -> dalsi = prvni;
prvni = n;
return;
}
Prvek *p = prvni;
while(p-> dalsi != zarazka && p->dalsi->klic < klic)
p = p->dalsi;
Prvek *n = new Prvek();
n -> klic = klic;
n -> hodnota = hodnota;
n ->dalsi = p-> dalsi;
p -> dalsi = n;
if( p-> dalsi->klic == klic)
{
p->dalsi = zarazka &&
p->dalsi ->klic == klic;
p->dalsi -> hodnota == hodnota;
return;
}

void UsporadanySez­nam::smazPrvek(int klic)
{
if(*p == 0)
{
return;
}
Prvek *p = prvni;
if ( prvni -> klic > klic || prvni == zarazka)

{
prvni = p->dalsi;
delete p;
return;
}

if (p != zarazka && klic == p ->klic)
delete p;
}

void UsporadanySez­nam::vypis()
{
Prvek p = prvni;
cout << "UsporadanySeznam:" << endl;
while(p)
{
cout << p->klic << p->hodnota << endl;;
p = p
dalsi;
}
}

tady je zdrojový kod

Chci docílit: Nevím jak na kostruktor Prvku a rozšířené testovací příklady pro metody vlozPrvek, najdiPrvek a smazPrvek

Metody mohou být

void push_back
void push_front
void pop_front
void pop_back

ale nevím jak s nimi zachazet

 
Odpovědět
3.4.2020 13:14
Avatar
JerryM
Člen
Avatar
JerryM:9.4.2020 19:09

Možná by bylo dobrý, kdybys zadal cestu:

#include "c:\sez\Uspora­danySeznam"

nebo něco takovýho chápeš jo ?
a pokud je na to navázaná i nějaká .dll tak ji del do klauzule
using "c:\sez\sez.dll"

 
Nahoru Odpovědět
9.4.2020 19:09
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.