Aktív témák
-
hefe
aktív tag
Köszi mindkettőtöknek!!!! Dánke sőőőnnn :C
-
Panther
HÁZIGAZDA
Ennyi változtatással már ''működőképes''.
printf('' Egyforma evjaratok: '');
int db1=0;
int panther= -1;
lanc *tmb[5];
lanc *egyen;
seged=egyen=fej;
while(egyen!=NULL) {
while(seged!=NULL) {
if(egyen->adat.evj==seged->adat.evj) {
tmb[db1]=seged;
db1++;
}
seged=seged->kov;
}
if(db1>1)
{
for(int i=0;i<db1;i++) {
printf(''%s %6d %6d '',tmb[i]->adat.nev,tmb[i]->adat.evj,tmb[i]->adat.ar);
tmb[i]->adat.evj = panther--;
}
}
seged=fej;
egyen=egyen->kov;
db1=0;
}
[Szerkesztve] -
Panther
HÁZIGAZDA
Csináltam egy saját adatbázist, azzal látom már mi a hiba.
Szóval ha van mondjuk két '95-ös autó (A, B), akkor azt csinálja, hogy:
...
A 1995
B 1995
...
A 1995
B 1995
...
Ugye erre gondolsz?
Ez szimplán azért van, mert kiírja akkor is mindkettőt, amikor az ''egyen'' változó A-nál jár, meg akkor is, amikor B-nél. (A-nak is talál párt, később meg B-nek is. Csak azt nem tudja a program hogy B-nek már nem kéne párt keresni, mertB már ki lett írva egyszer.)
Tényleg jobb lenne rendezett listával, de úgy is megcsinálhatod hogy megjelölöd hogy melyik autókat írtad már ki. (Mondjuk egyszerűen kitörlöd őket a listából, elvégre ezután már úgysem kellenek, a program vége következik. Ezt persze okosan kell, mert kezelned kell hogy a törlés után hova mutasson az ''egyen'' pointer. Csinálhatod azt is, hogy az évszámokat átírod szépen -1, -2, stb-re. Ezen módszerek persze nem lennének jók, ha később még kellene a lista, de jelen esetben már nem kell.)
MOD: Ja, és egyik sem valami szép megoldás... tényleg rendezett listával lenne igazán jó.
[Szerkesztve] -
hefe
aktív tag
Feltettm mégeccer egy min változtatással de nekem fut hiba nélkül.....
Visula studio 6al néztem meg...
És az egyező évjárat egyetalán nem működik nálad?
[Szerkesztve] -
Panther
HÁZIGAZDA
Na letöltöttem újra amit belinkeltél, belejavítás nélkül egy rakás marhaságot nyomat ki a képernyőre... miért? Neked nem?
Nálam a kép ''enault Chamade''-vel (R nincs az elején!) meg ''Opel Astra''-val van tele, illetve egy csomó ''-13108'' is van. -
Panther
HÁZIGAZDA
Itt valami nem jó... az adatfile nincs összhangban a programmal. Minden adat-egység 36 byte-nyi ha jól látom, azaz a Struct definíciójába 36-2-2=32 hosszú char-tömb kéne. Úgy egyébként már legalább az autók nevei normálisan megjelennek. Ja, ezen tárolási forma esetén int helyett érdemesebb lenne short-ot használni, mert az mindig 2 byte, az int meg platformfüggő (2-4byte közti egész).
-
hefe
aktív tag
Asszem egyszerűbb lesz belinkelnem a kát fájl és meglátjátok milyen szintűű..
[L]http://members.chello.hu/frankyie/haziproba.cpp[/L]
[L]http://members.chello.hu/frankyie/auto.dat[/L]
[Szerkesztve] -
Panther
HÁZIGAZDA
Nekem elég hasonló feladatot kellett megoldani egy éve, úgyhogy hátha segít... szép struktúrált, talán még átlátható is. (Bár az a kis grafikai izé zavarhat, de akkor azt hagyd a francba.)
[L]http://pantherz.uw.hu/prog/konyvtar.zip[/L]
Ez könyvek adatbázisával dolgozik, és kiadó szerint lehet leválogatást kérni (plusz egy-két apróság). Az adatbázisban az adatok 3 soronként tartoznak össze (1-3, 4-6, 7-9, stb sorok adják egy könyv adatait.) -
hefe
aktív tag
válasz
Pizzafutar #9 üzenetére
Ha jól sejtem az a baj hogy mikor a belső ciklust léptetem akkor gyakorlatilag az elsőt ősszehasonlítja lépésről lépésre a többivel. Aztán -> és a 2dikat sorba az összes többivel.. Azért írja ki többször mert ha az első és 3dik egyező akkor kiírja de ha a 3dikhoz ér akkor ismét megtalálja az első-3dik azonosságát.... Én valami ilyesmi hibát sejtek.... Jól sejtem?
Próbálkoztam olyasmivel hogy a belső cik a külsőhöz képest eggyel beljebbről induljon de így se jóóóó... :( -
hefe
aktív tag
válasz
Pizzafutar #7 üzenetére
Mivel kb egy hete tudtam felfogni mi is az a láncolt list meg hogy hogy működik ezért nem tudok egyszerű dolgokatse...
Bele tudnál javítani? -
hefe
aktív tag
válasz
Pizzafutar #5 üzenetére
:) Elküldtem.....
while(egyen!=NULL)
{
while(seged->kov!=NULL)
{
if(egyen->adat.evj==seged->adat.evj)
{
tmb[db1]=seged;
db1++;
}
seged=seged->kov;
}
if(db1>1)
{
for(int i=0;i<db1;i++)
printf('' %-25s%d %d'',tmb->adat.nev,tmb->adat.evj,tmb->adat.ar);
}
seged=fej;
egyen=egyen->kov;
db1=0;
Valahol itt lehet a bug... -
hefe
aktív tag
Plíííííííízzzzzzzzzzzzzzzzzzz.... :U
-
hefe
aktív tag
Adott egy progi megírva(csak próba szinten) meg egy adatfájl(kocsik márkája évj ára struktúrában). Az egyik cél az lenne hogy láncolt listával ezekből kiíratni az egyező évjáratúakat.. Nekem ez még ment de többször írja ki a dög mint kéne. A ciklusokkal van a gáz de nem tudom mi......
Ha valaki beírna akkor elküldeném neki a fájlokat és nagyon megköszöném ha segítene.... -
hefe
aktív tag
Tud valaki segíteni egy banális feladatban?
Aktív témák
- Battlefield 6
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Argos: Adjátok vissza a netet! - szeretnék elaludni!
- Azonnali informatikai kérdések órája
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- MasterDeeJay: Alacsony fogyasztású házi szerver a korábbi projektekből összeépítve
- Fejhallgató erősítő és DAC topik
- Háztartási gépek
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Álláskeresés, interjú, önéletrajz
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 13400F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Adidas vadiúj, eredeti, cimkés cipők, 39 1/3, 30, 431/3méretekben! AKCIÓS ÁRON!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Acer TravelMate P214 i3-1115G4 12GB 512GB 14" FHD 1év garancia
- Törött, Hibás iPhone felvásárlás!!
- Samsung Galaxy A21s 32GB, Kártyafüggetlen, 1 Év Garanciával
- LG 55C2 - 55" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen5 CPU
- BESZÁMÍTÁS! GIGABYTE Z97X-Gaming 3 Z97 chipset alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: FOTC
Város: Budapest