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
- AliExpress tapasztalatok
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Küszöbön az androidos PC-k
- Milyen billentyűzetet vegyek?
- Milyen légkondit a lakásba?
- Otthoni hálózat és internet megosztás
- Poco F5 - pokolian jó ajánlat
- Milyen széket vegyek?
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Apple iPhone 12 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- LG 55B4 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3404
- BESZÁMÍTÁS! ASUS B450M R5 5500 16GB DDR4 512GB SSD RTX 2070 Super 8GB DEEPCOOL Tesseract SW 600W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest