Pascal - načtení ze záznamu

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Petr2000
nováček
Příspěvky: 11
Registrován: červen 19
Pohlaví: Nespecifikováno

Pascal - načtení ze záznamu

Příspěvekod Petr2000 » 15 čer 2019 23:27

Ahoj, potřeboval bych poradit s procedurou pro načtení
neznámých ze záznamu.

Mám to napsané takto:
procedure NACTENI;
begin
n:=filesize(SC);
reset(SC);
for i:=0 to n-1 do begin
read(SC, recept);
seek(SC,i);
recept.serazeni[i+1]:=recept.pocetsurovin end;
for i:=1 to n do begin write(recept.serazeni[i], ', ') end;
writeln();readln();readln();end;

Ale píše mi to samé nuly kromě posledního čísla a to ještě
špatně.
Nevíte co s tím?
Děkuji



Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 6704
Registrován: prosinec 10
Pohlaví: Muž

Re: Pascal - načtení ze záznamu

Příspěvekod faraon » 16 čer 2019 00:14

Vítej na PC-help.

K čemu je tam ten seek(SC,i);? Předpokládám že data jsou uložená sekvenčně, takže je můžeš sekvenčně i načíst, nepotřebuješ skákat v souboru sem a tam, operační systém si to při čtení posouvá sám.
Software pro Boeing 737 MAX vytváří firma HCL z Indie.
Mzda vývojáře v Indii je 9 dolarů na hodinu.

Petr2000
nováček
Příspěvky: 11
Registrován: červen 19
Pohlaví: Nespecifikováno

Re: Pascal - načtení ze záznamu

Příspěvekod Petr2000 » 16 čer 2019 07:14

A jak to zapsat? Nějak takto?
for i:=1 to n do begin reset(SC);
while not eof(SC) do begin
read(SC, recept);if recept.strana=i then recept.serazeni[i]:=recept.pocetsurovin end;end;
for i:=1 to n do begin write(recept.serazeni[i], ', ') end; writeln();

Ani tak mi to nefunguje. Potřebuji si je nejdříve načíst
popořadě do řetězce, abych je mohl uspořádat podle velikosti
a následně celý uspořádaný záznam vypsat.

Dodatečně přidáno po 1 hodině 23 minutách 22 vteřinách:
Ještě jsem to zkusil i takto, ale výsledek se nezměnil.

procedure NACTENI;
begin
n:=filesize(SC);
i:=1;
reset(SC);
while not eof(SC) do begin
read(SC, recept);
recept.serazeni[i]:=recept.pocetsurovin;
i:=i+1 end;

for i:=1 to n do begin write(recept.serazeni[i], ', ') end; writeln();readln();readln();end;

Výsledek:
0, 0, 0, 0, 0, 0, 6,

Nevíte co s tím?


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Pascal - třídící algoritmy
    od Petr2000 » 16 čer 2019 19:25 » v Programování a tvorba webu
    17
    749
    od Petr2000
    19 čer 2019 16:14
  • Pascal - pomoc s programem
    od Pelda01 » 13 lis 2018 14:07 » v Programování a tvorba webu
    20
    1542
    od faraon
    13 lis 2018 19:30
  • Jak se zbavit ozvěny při záznamu mluveného slova?
    od strangereu » 08 srp 2018 17:40 » v Problémy s hardwarem
    4
    581
    od karlos
    09 srp 2018 11:53
  • Pascal - jak vypočítat řadu při diferenciaci
    od Pelda01 » 04 pro 2018 14:50 » v Programování a tvorba webu
    5
    775
    od faraon
    04 pro 2018 20:05
  • Načtení Windows
    od elayer » 11 říj 2018 16:33 » v Windows 10, 8, 7, Vista, XP…
    5
    772
    od JegenaJk
    17 čer 2019 18:13

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 2 hosti