Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 03. 12. 2010 14:24

Majki
Příspěvky: 120
Reputace:   
 

pascal ze souboru

Zdravím,
mám tady "jednoduchou" úložku v pascalu, v které mám zřejmě někde chybu.

Zadání: Je dán textový soubor "cisla.in", ve kterém je na prvním řádku číslo N, na druhém řádku následuje N čísel oddělených mezerami. Všechna čísla jsou v desítkovém zápisu a vlezou se do 32-bit integeru. Spočtěte součet všech N čísel a vypište jej na STDOUT, součet se rovněž vejde do 32-bit integeru.

např. cisla.in             5
                               2 7 8 10 3
       
        výstup              30



Zdroják:

Code:

program soucet;
var i,n,soucet,x:integer; t:text;
begin
assign(t,'cisla.in');
reset(t);
readln(t,n);
i:=1;
soucet:=0;
while i <= n do
     begin
     read(t,x);
     soucet:=soucet + x;
     i:=i + 1;
     end;
writeln(soucet);
end.

nevidí někdo chybu, jeden test ze tří mi neprošel

nabízím ještě hlášení codexu:
Jailing user 'codex' (UID 1003, GID 1003) into directory '/home/codex/workers/eval2/jail'
Initializing... OK
Preparing sandbox... running locally (INSECURE), OK
Finding source... ./inbox/source.pas
Compiling... OK
Test 1... <init> <run> <filter> <check> OK:OK (200 points)
Test 2... <init> <run> <filter> <check> OK:OK (200 points)
Test 3... <init> <run> RE:Runtime error 201: Range check error

děkuji všem za ochotu a hledání chyby
Majki

Offline

  • (téma jako vyřešené označil(a) Majki)

#2 03. 12. 2010 15:33

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: pascal ze souboru

V zadani je psano "... vlezou se do 32-bit integeru". Kdyz jsem zkousel do toho programu zadat cisla tak, aby soucet byl vetsi nez 32767, tak jsem dostal tu chybu "Runtime error 201: Range check error".

Misto "var i,n,soucet,x:integer;" jsem zkusil dat "var i,n,soucet,x:longint;", a uz to slo, tak v tom by mohla byt chyba, nic jineho me zatim nenapada.

Offline

 

#3 03. 12. 2010 17:18 — Editoval Majki (03. 12. 2010 17:18)

Majki
Příspěvky: 120
Reputace:   
 

Re: pascal ze souboru

↑ Lumikodlak:
diky jede na 100%
asi chybka v zadani

Offline

 

#4 03. 12. 2010 17:26

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: pascal ze souboru

To ne, chyba v zadani to neni podle me :-) 32767 to je prave jen 16 bitovy integer (zda se, ze v pascalu 'integer' je 16 bitu a 'longint 32' bitu). Ale to je jedno, hlavne, ze to funguje.

Offline

 

#5 03. 12. 2010 18:04

Majki
Příspěvky: 120
Reputace:   
 

Re: pascal ze souboru

↑ Lumikodlak:
tak diky za nove informace

az budu nekdy zase neco potrebovat tak to sem dam

Offline

 

#6 04. 12. 2010 17:26

Mr.Pinker
Příspěvky: 542
Reputace:   12 
 

Re: pascal ze souboru

to nevim jestli to je tím longintem mě to nebere tu třetí taky a to sem zkoušel i longint

Offline

 

#7 04. 12. 2010 17:38 — Editoval Mr.Pinker (04. 12. 2010 17:38)

Mr.Pinker
Příspěvky: 542
Reputace:   12 
 

Re: pascal ze souboru

tady jestli by ste mi mohli zkntorlovat proč by to nemuselo fungovat děkuju moc

Code:

program soucet;
var     s:text;
        a,c,d:longint;
        p:array[1..100]of longint;
begin
assign(s,'cisla.in);
reset(s);
readln(s,a);
d:=p[1];
for c:=1 to a do
begin
read(s,p[c]);
d:=d+p[c];
end;
write(d);
end.

hazí mi taky tu stejnou chybu u toho třetího

Offline

 

#8 04. 12. 2010 22:04

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: pascal ze souboru

Nejspis to bude tim, ze to ukladas do toho pole "p:array[1..100]of longint;" a je tam vic nez 100 cisel. To 'p' by ti stacilo normalne jako obycejny longint, takze tam muzes mit:

a,c,d,p:longint;

...

d:=0;

...

read(s,p);
d:=d+p;

Offline

 

#9 05. 12. 2010 22:35 — Editoval Majki (05. 12. 2010 22:36)

Majki
Příspěvky: 120
Reputace:   
 

Re: pascal ze souboru

tak ted je snad vyresen i problem kolegy Mr. Pinkera a mohu toto téma uzavřít
děkuji všem

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson