Kezdőoldal » Számítástechnika » Programozás » SÜRGŐS! , PASCAL, Mi lehet a...

SÜRGŐS! , PASCAL, Mi lehet a hiba?

Figyelt kérdés

Hibát ír ki futtatáskor(exitcode=216), elvileg a tömbbe olvasásnál van hiba, de mi lehet az?


itt van a forrás:


program rekordsum;

uses crt;

const n=10;

type tsum=record

az:integer;

ez:string;

end;


ttomb=array[1..n] of tsum;


var x:ttomb;

f:text;


Procedure init;

begin

assign(f,'reksum.txt');

end;



Procedure olvas(var y:ttomb);

var i:integer;

begin


reset(f);

while not EOF(f) do

begin

read(f,y[i].az,y[i].ez);

writeln(y[i].az,y[i].ez);

end;

close(f);

end;



Procedure sum(z:ttomb);

var i,s:integer;

begin

s:=0;

for i:=1 to 5 do

begin

s:=s+z[i].az;

end;

writeln(s);

end;



BEGIN

clrscr;

init;

olvas(x);

sum(x);

readln;

END.



2014. márc. 24. 18:36
 1/10 anonim ***** válasza:

Itt találsz infót, mit jelent a 216-os hiba:

[link]

2014. márc. 24. 18:41
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
Egyébként ránézésre is látszik, hogy n méretű a tömböd és beolvasáskor EOF-ig mész, függetlenül a tömböd méretétől.
2014. márc. 24. 18:42
Hasznos számodra ez a válasz?
 3/10 ejbenjaro ***** válasza:

Az olvas eljárásban az i értéke nem változik és kezdőérték sincsen neki adva, így tehát a tömb i-edik micsoda is lesz?


Aztán mi van a reksum.txt-ben?

2014. márc. 24. 18:46
Hasznos számodra ez a válasz?
 4/10 A kérdező kommentje:
de ha egy több száz adatsort akarok tömbbe olvasni akkor kell egy kb 1000-es méretű tömb és mivel nem fogom megszámolni muszáj EOF nem?
2014. márc. 24. 18:46
 5/10 A kérdező kommentje:
a txt ben 5 sor van, egy sorban van egy szám és egy betű szóközzel elválasztva.
2014. márc. 24. 18:47
 6/10 ejbenjaro ***** válasza:

AZ olvas eljárást írd át így:


Procedure olvas(var y:ttomb);

var i:integer;

begin

i:=1;

reset(f);

while not EOF(f) do

begin

read(f,y[i].az,y[i].ez);

writeln(y[i].az,y[i].ez);

inc(i);

end;

close(f);

end;

2014. márc. 24. 18:55
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
100%

"de ha egy több száz adatsort akarok tömbbe olvasni akkor kell egy kb 1000-es méretű tömb és mivel nem fogom megszámolni muszáj EOF nem?"


A program meg tudja neked számolni. A cikluson belül. Kolléga javított olvas procedúrájában az i megmondja, hány elemed van. A while-ba pedig beleírhatod, hogy addig olvasson, amíg az i nem haladja meg n-et. Máris nem fogsz túlcsordulni. :)

2014. márc. 24. 18:59
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:
köszönöm :D
2014. márc. 24. 19:01
 9/10 A kérdező kommentje:
remek, a program lefut viszont a az összegzés(sum eljárás) nem jó mivel nullát kapok, elvileg az összegzés tétele így van, mi lehet a gond?
2014. márc. 24. 19:08
 10/10 A kérdező kommentje:
elnéztem valamit működik.
2014. márc. 24. 19:09

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!