с (pascal) как это решить? ? в трехзначном числе x , зачеркнули 2-ую цифру , когда образовавшийся двухзначному числу приписали слева 2-ую цифру числа x ,что-бы получилось число x по заданному y найти число x
Зачеркнули 2-ую цифру , когда к образовавшемуся двухзначному числу приписали слева 2-ую цифру числа X , получилось число Y. По другому вообще непонятно, что такое Y. А так это известная задача перестановки местами соседних цифр в числе.
VAR ans: Real; n, i, j, kol: Integer; a: Array of Array of Real; BEGIN Read(n); SetLength(a, n+1); For i := 1 to n do SetLength(a[i], n+1);
For i:= 1 to n do For j := 1 to n do Read(a[i][j]);
For i := 1 to n do If (a[i][i] > 0) then begin Inc(kol); ans := ans + a[i][i]; End;
If (kol > 0) then begin Writeln('Ср. ар. с гл. диагонали = ', ans / kol); kol := 0;ans := 0; End Else Writeln('Элементов > 0 на гл. диагонали - нет !');
For i := 1 to n do If (a[i][n-i+1] > 0) then begin Inc(kol); ans := ans + a[i][n-i+1]; End;
If (kol > 0) then Writeln('Ср. ар. с поб. диагонали = ', ans / kol) Else Writeln('Элементов > 0 на поб. диагонали - нет !'); END.
uses crt; var s:string; c:char; m:set of char; n,i,k,p:byte; begin writeln('Введите текст из строчных латинских букв, окончаание ввода Enter'); s:=''; repeat c:=readkey; if c in ['a'..'z'] then begin write(c); s:=s+c; end; if c=#13 then writeln until c=#13; n:=length(s); m:=[]; for c:='a' to 'z' do begin k:=0; for i:=1 to n do if s[i]=c then k:=k+1; if k>1 then m:=m+[c]; end; if m=[] then write('Нет букв, встречающихся более 1 раза') else for c:='a' to 'z' do if c in m then write(c) end.
var
X, Y, s, d, e: integer;
begin
read(Y);
d := Y div 100;
s := Y div 10 mod 10;
e := Y mod 10;
X := 100 * s + 10 * d + e;
write(X);
end.
Объяснение:
В условии ошибка. Должно быть так:
Зачеркнули 2-ую цифру , когда к образовавшемуся двухзначному числу приписали слева 2-ую цифру числа X , получилось число Y. По другому вообще непонятно, что такое Y. А так это известная задача перестановки местами соседних цифр в числе.