- Huawei P40 Pro - kilökték a célegyenesben
- Garmin Instinct – küldetés teljesítve
- Apple iPhone Air - almacsutka
- Egyéves Gemini AI Pro a Google-től a magyar egyetemistáknak is
- Szerényebb kivitelben is elérhető a Realme GT 8 Pro
- OFFTOPIK: Earfun-lányok Sencsenben
- A ZTE sem maradt adós csúcstelefonnal
- Samsung Galaxy A54 - türelemjáték
- Ford SYNC 3 infotainment rendszer teszt
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Új hozzászólás Aktív témák
-
ttower
aktív tag
válasz
ViTToRe
#2139
üzenetére
itt a forráskód hogy más is tanulhasson:
(nem biztos hogy a legjobb, de működik)uses crt;
var s:string; {a beadott szöveg}
c_s:string; {a kódolt szöveg}
c:char; {a billentyűzetről beolvasott karakter}
p:byte; {a kurzor pozíciója}
hany:byte; {eltolandó karakterszám}
function cesar(s:string; hany:byte):string;
var loop:byte;
eltolando:byte;
uj:byte;
begin
for loop:=1 to length(s) do
if s[loop] in [#65..#90,#97..#122] then {megnézi hogy az adott karakter betű-e}
begin
eltolando:=hany mod 25; {eltolja a betűket}
uj:=ord(s[loop])+eltolando;
if uj=91 then uj:=65;
if uj=123 then uj:=97;
s[loop]:=chr(uj);
end;
cesar:=s; {funkció visszatérési értéke az új string}
end;
begin
clrscr;
writeln ('Hány karakterrel tolja el a szöveget?');
readln (hany);
clrscr;
p:=1;
repeat
c:=readkey; {beolvas egy karaktert a billentyűzetről}
if c<>#13 then {ha nem enter akkor lefut a kiértékelés}
begin
if c in [#32..#90,#97..#122] then {ha nem speciális karater, bekerül a szövegbe}
begin
insert (c,s,p);
inc(p);
end;
if c=#8 then {ha backspace, törli a karaktert}
begin
s:=copy (s,1,p-2)+copy (s,p,length(s));
if p>1 then dec (p);
end;
if c=#0 then {ha a karakter #0 akkor megnézi mi a második része}
begin
c:=readkey;
case c of
#75: if p>1 then dec(p); {ha a jobbra nyíl a kurzor jobbra megy}
#77: if p<length(s)+1 then inc(p); {ha a balra nyíl a kurzor balra megy}
#83: s:=copy (s,1,p-1)+copy (s,p+1,length(s)); {ha delet törli a karaktert}
end;
end;
clrscr; {törtli a képernyő tartalmát}
gotoxy (1,1); {a kurzort a jobb felső sarokba állítja}
writeln (s); {szöveg kiírása}
gotoxy (1,2); {a kurzort második sor elejére állítja}
writeln (cesar(s,hany)); {a kódolt szöveg kiírása}
gotoxy (p,1); {kurzor pozícionálása}
c:=#255;
end;
until c=#13; {kilépés ha entert ütöttünk le}
end.
Új hozzászólás Aktív témák
- Samsung Galaxy A56 Awesome Graphite 120 Hz Super AMOLED, AI-kamera 8/128 GB 2027. 08. 17-ig
- Sound Blaster AE-7 (B-Stock)
- ÚJ AKKU! Ár/ÉRTÉK BAJNOK! Dell Latitude 5330 i3-1215U 6mag! 16GB 512GB 13.3" FHD 1 év gar
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- 138 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 (ELKELT)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest



