Дана строчка, состоящая из слов, разделенных пробелами (одним либо несколькими). Составить
Дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Составить программку обработки данной строки, выводящую через запятую слова четной длины, которые при размене местами левой и правой половины дают то же слово (например, папа, мать, канкан).
Задать свой вопрос1 ответ
Александр Траполис
program string_2;
var s, slovo, otv:String; ns, ks, i, m: Integer;
begin
nbsp;nbsp;nbsp;Writeln (Введите строчку:); Readln(s);
nbsp;nbsp;nbsp;i:=1; ns:=1; otv:=; s:=s+ ;
nbsp;nbsp;nbsp;while ilt;=Length(s) do
nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;while (ilt;=Length(s)) and (s[i]lt;gt; ) do i:=i+1; отыскиваем очередной пробел
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;ks:=i; slovo:=Copy(s, ns, ks-ns); выделяем слово
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;m:=Length(slovo) div 2; половина длины слова
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;if (Length(slovo) mod 2=0) and (Copy(slovo,1,m)=Copy(slovo,m+1,m))
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;если слово имеет четную длину
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;then otv:= otv+slovo+ ,; прибавляем слово к ответу
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;while (ilt;=Length(s)) and (s[i]= ) do i:=i+1; пропускаем пробелы
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;ns:=i; начало следующего слова
nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;Delete(otv, Length(otv), 1); устраняем излишнюю запятую в конце
nbsp;nbsp;nbsp;Writeln(otv);
nbsp;nbsp;nbsp;Readln
end.
var s, slovo, otv:String; ns, ks, i, m: Integer;
begin
nbsp;nbsp;nbsp;Writeln (Введите строчку:); Readln(s);
nbsp;nbsp;nbsp;i:=1; ns:=1; otv:=; s:=s+ ;
nbsp;nbsp;nbsp;while ilt;=Length(s) do
nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;while (ilt;=Length(s)) and (s[i]lt;gt; ) do i:=i+1; отыскиваем очередной пробел
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;ks:=i; slovo:=Copy(s, ns, ks-ns); выделяем слово
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;m:=Length(slovo) div 2; половина длины слова
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;if (Length(slovo) mod 2=0) and (Copy(slovo,1,m)=Copy(slovo,m+1,m))
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;если слово имеет четную длину
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;then otv:= otv+slovo+ ,; прибавляем слово к ответу
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;while (ilt;=Length(s)) and (s[i]= ) do i:=i+1; пропускаем пробелы
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;ns:=i; начало следующего слова
nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;Delete(otv, Length(otv), 1); устраняем излишнюю запятую в конце
nbsp;nbsp;nbsp;Writeln(otv);
nbsp;nbsp;nbsp;Readln
end.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Облако тегов