FreePascalban kaptam egy feladatot, de nem boldogulok vele. Valaki megírná a programját némi magyarázattal fűszerezve?
Ja amúgy persze, csak írd meg mennyit ajánlasz érte.
5000?
De akkor most melyikkel kéne függvénnyel vagy eljárással? Ha az utóbbival akkor így néz ki a függvény deklaráció :
bool stringcsere(ref string str, int idx1, int idx2);
@#1:
Gondolom, azért, mert nem használja a Copy függvényt, meg a Delete és Insert eljárásokat.
Szerintem inkább a matek befigyel:
program Project1;
var s1, s2 : String;
begin
s1 := 'abcde';
s2 := 'edcba';
WriteLn('Eredeti: ', s1, ' ', s2);
s1[1] := Chr(Ord(s1[1]) xor Ord(s2[1]));
s2[1] := Chr(Ord(s2[1]) xor Ord(s1[1]));
s1[1] := Chr(Ord(s1[1]) xor Ord(s2[1]));
WriteLn('Ket elso karakter csere: ', s1, ' ', s2);
ReadLn;
end.
No comment... találd ki.
@tabaki: segíts már itt be, úgy tudom te használod:
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
A lényeg, hogy csak eljárás és függvény használható, gondolom függvények közül az ilyenek, mint a pos, copy, delete, insert, ...
Eljárásra meg ilyet találtam, hogy inc és dec, de hogy azok mik, azt nem tudom!
Ezekkel kellene elkészítenem. Ezért kértem a segítséget.
Nem hitted el, mi, hogy a Delete meg az Insert az eljárás?
Igen, az Inc meg a Dec (növelés és csökkentés) is az, de hogy jön az ide? Ezen az alapon mindenféle eljárásokat száz-, ha nem ezerszámra sorolhatnál föl a Free Pascalból.
Nesze, egy csuda hasznos program (ha Windowsod van, leszel szíves törölni vagy módosítani az ékezeteket):
program betucsere;
uses crt;
var
szoveg : array[0..3] of string =
('Kérdezi egy', ' hellén masszőr', 'Mért van az ön', '');
function csere(csSzoveg : string) : string;
var
i1, i2 : integer;
betu1, betu2 : string;
begin
i1 := Pos(#104, csSzoveg);
betu1 := Copy(csSzoveg, i1, 1);
i2 := Pos(#109, csSzoveg);
betu2 := Copy(csSzoveg, i2, 1);
Delete(csSzoveg, i1, 1);
Insert(betu2, csSzoveg, i1);
Delete(csSzoveg, i2, 1);
Insert(betu1, csSzoveg, i2);
csere := csSzoveg;
end;
begin
szoveg[3] := csere(szoveg[1]);
WriteLn(szoveg[0] + szoveg[1] + #58);
WriteLn(szoveg[2] + szoveg[3] + #63);
end.
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!