Hogyan írjam meg ezt az egyszerű feladatot Pascalban? Sürgös lenne holnapra.
Beolvasunk egy n számot, amely csak pozitív lehet(a program nem lép tovább, csak ha a megadott szám pozitív,különben újra kéri a számot!)Irjuk ki a szám számjegyeinek összegét.
Suliban úgy szoktuk,hogy mindent lépésről lépésre megadunk:
Program:
var/integer
writeln
readln
stb..
Segítene valaki?
program poz;
var szam, osszeg: int64;
s: string;
i, hiba : integer;
begin
hiba := 1;
while (hiba <> 0) or (szam < 0) do
begin
Write('Kerek egy pozitiv szamot: ');
ReadLn(s);
Val(s, szam, hiba);
end;
for i := 1 to Length(s) do
begin
Val(s[i], szam, hiba);
osszeg := osszeg + szam;
end;
Write('A szamjegyek osszege: ', osszeg);
ReadLn;
end.
A feles-sörért majd küldöm a címemet.
"SimkoL"-nek:
Ne értsd félre, de ha már úgyis nagy hibakezelő és optimalizáló hírnévre tettél szert ezen az oldalon, akkor az "osszeg"-változód típusát egy kicsit túlzásnak érzem:
FreePascal-ban az "int64" maximum 19 karakter hosszúságú számot képes tárolni, és mégha mindegyik számjegy 9-es is, akkor is csak 19*9=171, így ennek bőven elég egy "byte"-típus is... :-)
A sörödre meg várhatsz, mivel nem egy mesében élünk, ahol: "minden jó, ha a vége jó, és a jók megkapják méltó jutalmukat" :-)
ui.: jaaa és az "osszeg"-változót inicializálni kellene 0-a értékkel, hogy tényleg ne lehessen már belekötni... :-)
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!