- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Xiaomi 15T Pro - a téma nincs lezárva
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Hivatalos a OnePlus 13 startdátuma
- Motorola Edge 50 Pro - több Moto-erő kéne bele
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- OFFTOPIK: Earfun-lányok Sencsenben
- Android szakmai topik
Ú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
- Apple iPhone 15 Pro, 128Gb, független, fekete, 1 év garancia
- AMD Ryzen 5 5600X 6-Core 3.7GHz AM4
- Bomba ár! HP ProBook 430 G3 - i3-6GEN I 4GB I 128SSD I HDMI I 13,3" HD I Cam I W10 I Garancia!
- Bomba ár! HP ProBook 430 G5 - i3-7GEN I 4GB I 128GB SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- Bomba ár! HP EliteBook 845 G11 - Ryzen 5 8540U I 16GB I 512SSD I 14,1" Touch I Cam I W11 I NBD Gari!
- Samsung Galaxy S23 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo IdeaPad Slim 3 - 15.6" Full HD - Ryzen 5-7520U - 8GB - 512GB - Win11 PRO - MAGYAR - Garancia
- DX Racer fekete gamer, irodai szék
- ÚJ BONTATLAN Apple Macbook Air 15,3 M4 10C CPU/10C GPU/16GB/256GB - Égkék - HUN - mc7a4mg/a 3 év gar
- HP EliteBook 840 G7 i5-10210U 16GB 256GB 14" 400nit 100% sRGB 1 év garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő