Kezdőoldal » Számítástechnika » Programozás » Milyen rekord-szerkezettel...

Milyen rekord-szerkezettel ábrázolható egy busz komplett menetrendje a legegyszerűbben? (bővebben lent)

Figyelt kérdés

Tegyük fel, hogy van egy busz, van mondjuk 38 megállója.

Milyen rekord-szerkezetet kell használni, ha nemcsak az indulás és érkezés időpontjait szeretnénk nyilvántartani, hanem azt is, hogy az indulási és érkezési idő közt órára és percre pontosan mikor melyik megállóba fog érkezni?

Pascal-ban érdekelne a megoldás elsősorban, de más programozási nyelveken is leírhatjátok az adatszerkezetet.

Nem kész program érdekelne, csak maga az adatszerkezet, ami rekord legyen, ne OOP osztályok és hasonlók.


Én csak ennyire jutottam:


program busz;


type

brek = record

indulasi_megallo : string;

megallo1 : string;

megallo2 : string;

erkezesi_megallo : string;

end;


var

napok : array[1..7] of string;

begin

end.



2017. okt. 9. 13:47
 1/10 anonim ***** válasza:
Listával.
2017. okt. 9. 13:48
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
Le tudnád írni, hogy nézne ez ki?
2017. okt. 9. 13:49
 3/10 anonim ***** válasza:
Feltételezve, hogy nincs külön várakozási idő, elég egy sima tömbben elmenteni az indulási időpontokat (számmá konvertálva), meg egy stringben a megállóneveket (pl. adott karakterrel elválasztva).
2017. okt. 9. 13:52
Hasznos számodra ez a válasz?
 4/10 A kérdező kommentje:
Ha van várakozási idő pl. akkor statikus láncolt lista kellene hozzá?
2017. okt. 9. 13:58
 5/10 anonim ***** válasza:

Dinamikus lista kell.

New, dispose.

2017. okt. 9. 15:40
Hasznos számodra ez a válasz?
 6/10 A kérdező kommentje:
Statikussal nem megoldható? a mutatózást (nil vagy következő elemre stb) sose értettem...
2017. okt. 9. 15:55
 7/10 sharkxxx ***** válasza:

type

  TBuszmegallo = record

    Cim: String;

    Elenezes: String

  end;

  TSzakasz = record

    Hossz: Longint;

    Idotartam: Longint;

  end;

const

  BUSZMEGALLOK_SZAMA = 38;

var

  Buszmegallok: array[1..BUSZMEGALLOK_SZAMA] of TBuszmegallo;

  Szakaszok  : array[1..BUSZMEGALLOK_SZAMA-1] of TSzakasz;

  {Egyel kevesebb szakasz van, mint buszmegálló.}

  {Szakaszok[i] - A Buszmegallok[i] és a Buszmegallok[i+1] közötti szakasz.}

2017. okt. 9. 16:11
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

"Statikussal nem megoldható?"


De (lásd fölöttem), csak hát, ha egyszer dinamikust kiván a feladat?


" a mutatózást (nil vagy következő elemre stb) sose értettem."


Itt a lehetőség a megértéshez.


------------

type


TMegallo = record

num: integer;

utca: string[32];

ido: TDatetime;

end;


-- Majd mondjuk dinamikus tömbbe a megallokat:

Bus: array[0..0] of Tmegallo;


Ez így talán a legegyszerűbb.

De lehet egymásba ágyazott rekordokkal is. Amit akarsz.

2017. okt. 9. 16:22
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:
Jaa hát a dinamikus tömb önmagában még nem okozott soha gondot :)
2017. okt. 9. 16:46
 10/10 anonim ***** válasza:
Nem a dinamikus tömbre gondoltam, hanem adatok dinamikus kezelésére. Tehát, hogy annyi memóriát foglalsz, amennyi az adatoknak éppen szükséges, nem többet. Ezen körön belül lehet dinamikus tömb is, meg más is.
2017. okt. 10. 12:06
Hasznos számodra ez a válasz?

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!