Pascalban elakadtam a következő programmal?
Egy olyan programot kell készíteni, ami kiszámolja egy jármű átlagfogyasztását. Van 5 jármű, adott minden adat, az 5 jármű megtett km-re és az átlagfogyasztása literben. Kiiratom a képernyőre az adatokat, majd az átlagszámításban elakadtam, adott az átlaghoz a képlet
átlag=100*fogyasztás/megtett km:
program atlag;
uses crt;
const km:array[1..5] of integer=(300,4856,50,3578,345);
l:array[1..5] of integer=(72,198,4,234,35);
var i,j:integer;
atlag,eredmeny:double;
begin
clrscr;
for i:=1 to 5 do writeln(i,' jarmu megtett uta ', km[i],' km es fogyasztasa: ',l[i], ' liter');
atlag:=0;
for j:=1 to 5 do
begin
atlag:=(100*l[j]/km[j]);
writeln('az',j,' .jarmu atlagfogyasztasa:',j );
end;
repeat until keypressed;
end.
Nem igazán értek a tömbökhez. Előre is köszönöm, ha valaki segít!
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
..."ezek szerint elég helyette a #10. Bocsánat."
Nem nem és nem. Pont nem vagyunk ezzel előrébb, nem ez volt a lényege.
sLineBreak:
"sLineBreak is an alias for LineEnding and is supplied for Delphi compatibility.
This constant is part of a set of constants that describe the OS characteristics. These constants should be used instead of hardcoding OS characteristics."
Az sLineBreak az egy alias a LineEnding-re, amely Delphi kompatibilis.
A konkrét értéke rendszerfüggő vagyis az operációs rendszertől függ, és a rendszer inicializálja. Ezen konstansok ahelyett vannak, hogy közvetlen a kódba beírnánk ezek értékét.
LineEnding:
"LineEnding is a constant which contains the current line-ending character. This character is system dependent, and is initialized by the system. It should not be set.
This constant is part of a set of constants that describe the OS characteristics. These constants should be used instead of hardcoding OS characteristics."
A LineEnding egy konstans, ami a sorvégjelet tartalmazza. A konkrét értéke rendszerfüggő vagyis az operációs rendszertől függ, és a rendszer inicializálja. Az értékét nem szabad általunk beállítani.
Használata a helyett van, hogy közvetlen a kódba beírnánk ennek a konkrét értéket.
Ez már nem a fordítás része, hanem megjegyzés, hogy különböző értéket vesz fel windows-on, linux-on. Részletesebben a sorvégjelekről : [link]
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Bah, ne is említsd... Tudom én, csak komiszkodni akartam, aztán egyrészt majmot csináltam magamból, másrészt, ami kellemetlenebb, neked adtam fölösleges gépelni valót. A LineEnding (ami ugyebár a sLineBreak másik neve) leírásánál egyértelműen szerepel ez:
const LineEnding = #10;
Eddig tök jó, csak ezek után következett most a kínosabb felfedezés, a fölötte lévő sor, amire eddig nem figyeltem fel:
Source position: sysunixh.inc line 28
...tehát ez a _linuxos_ system unitban szereplő érték, és vélhetőleg azért kaptam pont ezt az oldalt, mert történetesen linuxból böngésztem a dokumentációt. Úgyhogy most már tényleg komolyan bocsánatot kérek, természetesen igazad van. Remélem, legalább Kérdező húz valami hasznot a gyötrelmes incidensből.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!