Помогите пожалуйста!!!
-
- Сообщения: 4
- Зарегистрирован: 21 дек 2013, 23:04
Паскаль: В тексте найти одну пару [все пары] слов, из которых одно является обращением другого (например, “abcd” и “dcba”).
Раздел алгоритмы, тема "разбиение строки на слова".
Получение строки s1, обратной строке s:
for i:=length(s) downto 1 do s1:=s1+s;
Далее в цикле проходите по массиву слов, для каждого слова находите его обратное и ищете его в остальном массиве.
Получение строки s1, обратной строке s:
for i:=length(s) downto 1 do s1:=s1+s;
Далее в цикле проходите по массиву слов, для каждого слова находите его обратное и ищете его в остальном массиве.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 4
- Зарегистрирован: 21 дек 2013, 23:04
Спасибо, но если вам не трудно не могли бы вы расписать полностью программу?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
В условии не сказано, что считать словом. Если словом считается любая подстрока, то можно так:
Код: Выделить всё
var
str: string;
TxtLen,L,P1,P2: integer;
function CheckPair(const str:string; pos1:integer; pos2:integer; len:integer):boolean;
var i:integer;
begin
for i:=1 to len do if str[pos1+i-1]<>str[pos2+len-i] then begin
CheckPair:=false;
exit;
end;
CheckPair:=true;
end;
begin
write('input text:'); readln(str);
TxtLen:=length(str);
for L:=2 to trunc(TxtLen/2) do begin
writeln('Searching for words with length ',L,'...');
for P1:=1 to L do begin
for P2:=P1+L to TxtLen-L+1 do begin
if CheckPair(str,P1,P2,L) then writeln('Pair was found. "',copy(str,P1,L),'"@',P1,' and "',copy(str,P2,L),'"@',P2);
end;
end;
end;
end.
-
- Сообщения: 4
- Зарегистрирован: 21 дек 2013, 23:04
[quote="Naeel Maqsudov"]
А в паскале тоже самое? или работать не будет?
А в паскале тоже самое? или работать не будет?
Это и есть паскаль
It's a long way to the top if you wanna rock'n'roll