Kezdőoldal » Számítástechnika » Programozás » Ti hogy oldanátok meg ezt a...

Ti hogy oldanátok meg ezt a feladatot?

Figyelt kérdés

[link]


4. Futár rész. Nem konkrét forráskódra vagyok kíváncsi, hanem hogy hogy futnátok neki ennek. Próbáltam táblába beolvasni és úgy operálni velük, vagy stringlistekben kezelni őket, de egyik sem túl hatékony, és időigényesek.



2013. márc. 7. 20:18
1 2
 11/16 A kérdező kommentje:
ejben: ez nagyon tetszik, csak valamiért ha ki akarok íratni egy napok[x][y]-t, akkor 0 lesz mindig.
2013. márc. 8. 01:37
 12/16 A kérdező kommentje:
Megoldódott, köszi még egyszer.
2013. márc. 8. 02:55
 13/16 anonim ***** válasza:
Ha átláthatóan és röviden akarod megírni a dolgot, azt tedd amit iostream barátunk is ajánlott, rendezd az adatokat először. Hint: ha maximum kiválasztásos rendezéssel (itt talán érdemesebb a minimumokat keresni) először a fuvarok sorszáma majd a napok sorszáma alapján rendezel, pont a kívánt formát kapod. Ugyan gyors nem lesz, de ennyi adatnál ez nem okoz gondot, főleg nem érettségin. Innentől bármelyik kérdésre könnyű választ adni.
2013. márc. 8. 10:35
Hasznos számodra ez a válasz?
 14/16 anonim ***** válasza:

Nem kell rendezni az adatokat, ha soronként olvasod be és a kétdimenziós tömb megfelelő elemét felülírod:


scanf("%d %d %d", &nap, &sorszam, &km)

ut[nap][sorszam]=km;


ez a legegyszerűbb és a leggyorsabb érettségin, egy kétdimenziós tömb. Van, aki struktúrát hoz létre, de szerintem ilyen kis programnál felesleges.

2013. márc. 9. 14:42
Hasznos számodra ez a válasz?
 15/16 A kérdező kommentje:
Igen, így csináltam. Csak azt nem tudom, hogy hogy számolom választom ki a legtöbb fuvarral rendelkező napot. Ugye fuvar azonosítója a második dimenzió.
2013. márc. 10. 00:26
 16/16 ejbenjaro ***** válasza:

"Igen, így csináltam. Csak azt nem tudom, hogy hogy számolom választom ki a legtöbb fuvarral rendelkező napot. Ugye fuvar azonosítója a második dimenzió."


Ciklussal végig mégy a napokon és a napi fuvarokon. Egy változóban tárolod a napot, egy másikban a napi fuvar mennyiséget. A következő napnál megnézed, hogy nagyobb e, mint amit tároltál és ha nagyobb felülírod. Nem komplikált.


pl.:

procedure legtobbfuvar (var nap,fuvarszam: integer);

var i, j: integer;

tmpfuvar: integer;

begin

nap:=0;

fuvarszam:=0;

tmpfuvar:=0;

for i:=1 to 7 do

begin

for j:=1 to 40 do

begin

if napok[i][j]<>0 then inc(tmpfuvar);

end;

if tmpfuvar>fuvarszam then

begin

nap:=i;

fuvarszam:=tmpfuvar;

end;

tmpfuvar:=0;

end;

end;


A példát nem teszteltem, ezért lehetnek benne hibák!

2013. márc. 10. 10:40
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!