Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Prepojeny zoznam

Aktivity
Avatar
Philip Recek
Člen
Avatar
Philip Recek:27.4.2019 21:38

Zdravim potreboval by som poradit. Snazil som sa vytvorit jednoduchy prepojeny zoznam ale natrafil som na chybu s ktorou si neviem poradit. Ide o to ze ked sa pokusim vymazat nejaky prvok v zozname (napr. 6. v poradi) a potom sa snazim pridat novy prvok do zoznamu tak dostanem chypu core dumped. Podla mna je to chyba v remove funkcii ale neviem ju ani za svet najst.

Zkusil jsem:

63     void player::add(const field * ukField){
64         numOfPropertys++;
65         node* newNode = new node(ukField);
66         node* aktual = property;
67
68         std::cout << "(money): " << money << " $ - " << ukField->returnPrize() << " $ = " << (money -= ukField->returnPrize()) << " $" << std::endl;
69
70         if(property == nullptr) property = newNode; // if this is first property
71         else{
72             if(ukField->returnPrize() >= property->ukData->returnPrize()){
73                 newNode->next = property;
74                 property = newNode;
75             }
76             else{
77                 while(true){
78                     if(aktual->next == nullptr){
79                         aktual->next = newNode;
80                         break;
81                     }
82                     if(ukField->returnPrize() >= aktual->next->ukData->returnPrize()){
83                         newNode->next = aktual->next;
84                         aktual->next = newNode;
85                         break;
86                     }
87
88                     aktual = aktual->next;
89                 }
90             }
91         }
92     }
93
102     void player::remove(const ushort & num){
103         numOfPropertys--;
104         node * aktual = property;
105         node * temporary;
106
107         for(int i = 0; i < num - 2; i++){
108             aktual = aktual->next;
109         }
110
111         if(num == 1){
112             temporary = aktual;
113             property = property->next;
114         }
115         else{
116             temporary = aktual->next;
117             aktual->next = aktual->next->next;
118         }
119         std::cout << "sold //(money): " << money << " $ +" << temporary->ukData->returnPrize() << " $ = " << (money += temporary->ukData->returnPrize()) << " $\n" << std::endl;
120
121         delete temporary;
122     }

Chci docílit: Parameter num vo funkcii remove je ktory prvok v poradi chcem vymazat.
Fakt dakujem za kazdu radu.

 
Odpovědět
27.4.2019 21:38
Avatar
JerryM
Člen
Avatar
JerryM:21.6.2019 13:06

máš to napsaný blbě ... všechno ..
nejdřív ukaž jak vypadá ta struktura buňky na kterou se napojujou ukazatele

 
Nahoru Odpovědět
21.6.2019 13:06
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.