Даны строка и два символа. Сделать одновременную замену первого символа на второй, а второго – на первый.
Даны строка и два символа. Сделать одновременную замену первого символа на второй, а второго – на первый.
Код:
function Castling(Str: string; Frst, Scnd: Integer): string;
var
ChFrst, ChScnd: String;
begin
ChFrst := Copy(Str, Frst, 1);
ChScnd := Copy(Str, Scnd, 1);
Delete(Str, Frst, 1);
Insert(ChScnd, Str, Frst);
Delete(Str, Scnd, 1);
Insert(ChFrst, Str, Scnd);
Result := Str;
end;
var
ChFrst, ChScnd: String;
begin
ChFrst := Copy(Str, Frst, 1);
ChScnd := Copy(Str, Scnd, 1);
Delete(Str, Frst, 1);
Insert(ChScnd, Str, Frst);
Delete(Str, Scnd, 1);
Insert(ChFrst, Str, Scnd);
Result := Str;
end;
Цитата: mfender
Код:
function Castling(Str: string; Frst, Scnd: Integer): string;
var
ChFrst, ChScnd: String;
begin
ChFrst := Copy(Str, Frst, 1);
ChScnd := Copy(Str, Scnd, 1);
Delete(Str, Frst, 1);
Insert(ChScnd, Str, Frst);
Delete(Str, Scnd, 1);
Insert(ChFrst, Str, Scnd);
Result := Str;
end;
var
ChFrst, ChScnd: String;
begin
ChFrst := Copy(Str, Frst, 1);
ChScnd := Copy(Str, Scnd, 1);
Delete(Str, Frst, 1);
Insert(ChScnd, Str, Frst);
Delete(Str, Scnd, 1);
Insert(ChFrst, Str, Scnd);
Result := Str;
end;
Это не одновременная. Сдается мне, что это лаба, и при проверке будет сказано, что условие задания не выполнено. Если так, то одновременно можно сделать пробегом по строке. А уж если вдаваться в академическое словоблудие, то одновременно можно сделать только на машине с количеством процессоров равным количеству символов в строке :)