Даны символы s1, s2, ... Известно, что символ s1 отличен от точки и что среди s2, s3, ... имеется хотя бы одна точка. Пусть s1, ... , sn—символы, предшествующие первой точке (n заранее неизвестно). Получить:
а) последовательность sn, sn-1, ... , s1;
б) последовательность s1, s3, ... , sn, если n—нечетное, и последовательность s2, s4, ... , sn, если n—четное.
Язык программирования не указан, потому - самый простой вариант - программа на паскале. Даже на паскале задачу можно решать различными способами - с массивом, без массива, со строками, без строк. Опять-таки, самый простой вариант - со строками.
var s,p:string; n,i:integer;
begin
writeln(Введите символы:);
readln(s);
n:=pos(.,s)-1;
writeln(n = ,n);
p:=;
for i:=1 to n do p:=s[i]+p;
writeln(а));
writeln(p);
p:=;
if n mod 2 = 0 then i:=2 else i:=1;
while i<=n do
begin
p:=p+s[i];
i:=i+2;
end;
writeln(б));
writeln(p);
end.
Пример:
Введите символы:Даны символы s1, s2, ... Известно, что символ s1 отличен от точки
n = 21
а)
,2s ,1s ыловмис ынаД
б)
Дн ивл 1 2
Оцени ответ
