Kezdőoldal » Számítástechnika » Programozás » Pascal, Mi lehet a hiba? Hol...

Pascal, Mi lehet a hiba? Hol keressem?

Figyelt kérdés

A cél az hogy mondja meg a program hányszor fagyott meg a víz, nem összekeverendő hogy hányszor volt negatív érték.

Nos valamiért sokszor jól lefut, de sokszor nem...

Program fagyas;

Uses crt;

Const n=31;

Var tomb:array[1..n] of Longint;

fagyott: Longint;

i: Byte;

fagy: Boolean;

Begin

Clrscr;

Randomize;

fagy:=False;

Writeln('Januari homersekleti adatok elemzese!');

For i:=1 to n do

Begin

Repeat

tomb[1]:=Random(30)-10;

Until tomb[1]<>0;

tomb[i]:=Random(30)-10;

Write (tomb[i]:4);

If (fagy) and (tomb[i]<=0) Then fagyott:=fagyott+1;

fagy:=tomb[i]>0;

End;

Writeln;

Writeln('Fagyasok: ',fagyott);

Readkey;

End.

Nem tudom mi lehet a hiba...


2014. jún. 4. 19:03
1 2
 11/15 coopper ***** válasza:

Szia.


Igen most már szerintem, jó, legalábbis nekem ment.


Egy pár megjegyzés a prg-hez :


fagyott:=0; helyett mivel boolean ezért fagyott:=True; vagy fagyott:=False; (De ha a következőt megfogadod akkor ez elhagyható)


Ez a kódrészlet elég kusza én átirnám :


If tomb[1]<0

Then

Begin

fagyott:=true;

inc(megfagyott);

End

Else

fagyott:=false;


egy ilyenre :


fagyott:=tomb[1]<=0; {itt értéket adsz a változónak, tehát a prg elején az értékadás elhagyható }

if fagyott then inc (megfagyott) ;


illetve nálam nem tudni mért igen furcsa véletlen számokat generált (62000-es értékeket sőt nagyobbakat is Borland Pascal, Turbo Pascal) ézért megforditottam a matemetikát és igy már jó volt a generálás : tomb[i]:=-10+Random(20);


Sok sikert.

Üdv.

2014. jún. 5. 18:45
Hasznos számodra ez a válasz?
 12/15 SimkoL ***** válasza:

Hát ilyen 'randa' kódot már régen láttam :(

A kis és nagybetűk 'helytelen' használata egy dolog. A repeat .. until helyett miért nem while .. do, a tömbnek miért longint ?????? és a szóköz égeti a kezed ?

2014. jún. 5. 18:50
Hasznos számodra ez a válasz?
 13/15 A kérdező kommentje:

Szóköz nálam van csak bemásoláskor van ez, hogy nem helyezi el normálisan a bekezdéseket.

Egyébként nem teljesen jó a kód, mivel:

Példával mutatnám be: 1 3 -1 0 -1 2 4 0

No ugye 1 nem fagyott 3 nem fagyott -1 fagyott 0 nem fagyott -1 fagyott 1 nem 4 nem 0 fagyott

fagyasok szama: 3

Valahogy ezt kéne normálisan lekódolni

2014. jún. 5. 19:19
 14/15 A kérdező kommentje:
Rosszul írtam elnézést...
2014. jún. 5. 19:20
 15/15 anonim ***** válasza:
Mi a baj a repeat until ciklussal?
2014. jún. 6. 00:24
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!