Язык программирования не указан, потому - самый простой вариант - программа на паскале. Даже на паскале задачу можно решать различными с массивом, без массива, со строками, без строк. Опять-таки, самый простой вариант - со строками. 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
var s : string[50]; i, j, k : word; f : boolean; function isSpace(ch : char) : boolean; begin isSpace := false; if ch = ' ' then isSpace := true; end; begin f := false; repeat j := 0; writeln('введите строку, состоящую из 2 слов'); readln(s); for i := 1 to length(s) do if isSpace(s[i]) then begin inc(j); k := i; end; if j =1 then f := true; until f; write(copy(s, k + 1, length(s)), ' ', copy(s, 1, k - 1)); end. недавно такую писала :)
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
i, j, k : word;
f : boolean;
function isSpace(ch : char) : boolean;
begin isSpace := false;
if ch = ' ' then isSpace := true;
end;
begin f := false;
repeat j := 0;
writeln('введите строку, состоящую из 2 слов');
readln(s);
for i := 1 to length(s) do
if isSpace(s[i]) then
begin
inc(j);
k := i; end;
if j =1 then f := true;
until f;
write(copy(s, k + 1, length(s)), ' ', copy(s, 1, k - 1));
end.
недавно такую писала :)