Показать сообщение отдельно

  #1778  
Старый 15.10.2009, 13:44
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
С нами: 8912059

Репутация: 249
По умолчанию

Цитата:
Сообщение от winlogon.exe  
2) Для надежности некоторый текст был передан по линии связи трижды, но каждый раз ровно один символ был принят в искаженном виде.
требуется по трем полученным текстам восстановить исходный текст или установить, что сделать это невозможно.
Входные данные:
Три текстовые строки длиной не более 255 символов каждая.
Выходные данные:
Текстовая строка с восстановленным текстом либо сообщение о невозможности восстановления.
Код:
program strreceive;

var
str:array[1..3] of string;
Variaz:array[1..3] of byte;
strresult:string;
intI:integer;

begin
str[1]:='root@locaphost';
str[2]:='root.localhost';
str[3]:='root.,ocalhost';
Variaz[1]:=0;
Variaz[2]:=0;
Variaz[3]:=0;

for intI:=1 to length(str[1]) do begin
if (str[1][intI]=str[2][intI]) and (str[1][intI]=str[3][intI]) then strresult:=strresult+str[1][intI]
else begin
if (str[1][intI] = str[2][intI]) and (str[1][intI]<>str[3][intI]) then begin
if Variaz[3] = 1 then begin
writeln('He mory vosstanovitb stroky');
readln;
exit;
end;
strresult:=strresult+str[1][intI];
variaz[3]:=1;
end;
if (str[2][intI] = str[3][intI]) and (str[2][intI]<>str[1][intI]) then begin
if Variaz[1] = 1 then begin
writeln('He mory vosstanovitb stroky');
readln;
exit;
end;
strresult:=strresult+str[3][intI];
Variaz[1]:=1;
end;
if (str[1][intI] = str[3][intI]) and (str[2][intI]<>str[3][intI]) then begin
if Variaz[2] = 1 then begin
writeln('He mory vosstanovitb stroky');
readln;
exit;
end;
strresult:=strresult+str[1][intI];
Variaz[2] :=1;
end;
end;
end;

writeln('Iskoma9 stroka = ',strresult);
readln;
end.
Результат работы:
str[1] := 'root@locaphost';
str[2] := 'ryot@localhost';
str[3] := 'root.locaphost';


Код:
Iskoma9 stroka = root@localhost
str[1] := 'root@locaphost';
str[2] := 'ry1t@localhost';
str[3] := 'root.locaphost';

Код:
He mory vosstanovitb stroky
Мне пора идти (Уже опоздал минут на 15), удачи, если че нитак, не надо желать моей смерти ;D

Последний раз редактировалось Dosia; 15.10.2009 в 13:58..
 
Ответить с цитированием