Решить по информатике через pascalabc. дана строка, содержащая дефис (например: город-герой). поменяйте 2 слова между собой, чтобы получилось наоборот (герой-город). заранее .
PascalABC.NET Версия 3.3. сборка 1583 (25.11.2017)
var s,s1,s2: string; begin write('s='); readln(s); s1:=copy(s,1,pos('-',s)-1); s2:=copy(s,pos('-',s)+1,length(s)-pos('-',s)); write('s=',s2+'-'+s1); end.
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; for i := 1 to N do p:=p*x; writeln(x,' в степени ',n,' равно ',p ); end.
2. Для цикла While var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; while i<=n do begin p:=p*x; i:=i+1; end; writeln(x,' в степени ',n,' равно ',p ); end.
3. Для цикла Repeat
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; repeat p:=p*x; i:=i+1; until i>n; writeln(x,' в степени ',n,' равно ',p ); end.
1. Для цикла For есть решение выложенное выше от Srzontmp.
2. Почти ничего не меня получим код для цикла while: var i, n, k: integer; begin i := 2; readln(n); while i <= n div 2 do begin if (n mod i) = 0 then k := i; i:=i+1; end; writeln('наибольший делитель ', n, ' = ', k); end.
3. Аналогично для цикла Repeat: var i, n, k: integer; begin i := 2; readln(n); repeat if (n mod i) = 0 then k := i; i:=i+1; until i> n div 2; writeln('наибольший делитель ', n, ' = ', k); end.
begin
readln(s);
l:=length(s);
p:=pos('-',s);
s:=copy(s,p+1,l-p)+'-'+copy(s,1,p-1);
writeln(s);
end.
Пример:
город-герой
герой-город