Wpis z mikrobloga

@Konalio: Funkcję usun, drukuje nazwy towarów o cenie wyższej niż średnia cena towarów na tej liście, a następnie usuwa towar najbardziej różniący się ceną od średniej ceny towarów (pierwszy napotkany, jeśli jest kilka takich).
  • Odpowiedz
@ronkad: tak na szybko, bo burdel w kodzie nieziemski.. ale wg mnie łapiesz głowę, głowę przestawiasz na następny i usuwasz poprzedni element. A nie widzę chyba miejsca, gdzie poprzedni (przed usuniętym) wskazuje na następny (po usuniętym).

A -> B -> (usunąłeś, gdzie wskazuje "B"??) -> C ->D ?
  • Odpowiedz
@ronkad: tu przydałby się generalny refactoring kodu...

Jak już szukasz tego elementu, zapamiętuj wskaźnik na poprzedni element. W tym momencie tylko rozrywasz listę.

Edit: to o czym pisze RRybak wyżej.

Jeszcze jedna wskazówka: jak wysyłasz kod, usuwaj zakomentowane fragmenty kodu. Kod który nie jest kompilowany jest martwy, niepotrzebny.
  • Odpowiedz
@KrzaQ2: masz całkowitą rację, nigdy bym tak nie napisał gdyby nie był to program na zaliczenie na PW u starszej profesor która taki "styl" lubi i rekomenduje. Ja zrobiłbym funkcję do liczenia średniej, znajdowania największej różnicy itp.
  • Odpowiedz
@ronkad: skoro c++ to można zrobić klasę, średnia będzie przechowywana w jakimś polu i uaktualniana przy wstawianiu nowego elementu do listy. Sporo można tu poprawić, współczuję prowadzącej w takim razie :|
  • Odpowiedz