Segitene valaki? elakadtam egy fuggveny megirasa kozben. Mi a hiba?
program PRIM_OSZTOT_TALAL_KILEP_BOOLEAN;
var i,n:longint;
k:boolean;
begin
Write('N:');ReadLn(n);
i:=2;k:=true;
repeat
if n mod i=0 then k:=false;
i:=i+1;
until (i>Sqrt(n)) or not k;
if k then WriteLn('Prím') else WriteLn('Nem prím');
end.
Elnezest, ez a hibas nem az
function prim;
var i:szam,integer
szamlalo:integer
begin
szamlalo:=0
for i:= 1to 10
if szam mod i=0 then
szamlalo:=szamlalo+1;
if szamlalo:=2 then
writeln('Prim szam')
else writeln('Nem prim szam')
end.
Szia.
Szam éréke micsoda ?
Nem kellene bekérni ?
Az "I" Ciklus miért csak 10-ig megy ?
Elvileg a bekért szám gyökéig kellene menni. - Sqrt(szam)
Ja és ha a szám gyökéig megy a ciklus akkor nem 2-re kell vizsgálni, hanem csak 1-re (mivel csak 1-gyel osztható)
if szamlalo=1 then
Azon kivűl tele van szintaktikai hibával :
1. Pascalban majdnem minden sor végre pontosveszőt kell tenni igy : 2,3,5,11 sor végére is.
2. Ez a sor igy van jól :
var i:szam,integer -> var i:szam:integer ;
3. A feltételnél nem "legyen egyenlő" csak "egyenlo" :
if szamlalo:=2 then -> if szamlalo=2 then
Hát nagyából ennyi.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!