Задача по информатике. Нужно написать программу(язык Pascal) Ввести с клавиатуры строку символов. Выяснить: есть ли в строке цифры? Вывести отдельно на экран в обратном порядке эти цифры и подсчитать их сумму.
Const n=4; { количество разрядов (цифр) в числе } var a:array[1..n] of integer; i,j,k:integer; begin Write('Введите ',n,'-значное число: '); Read(k); for i:=1 to 4 do begin a[i]:=k mod 10; k:=k div 10 end; for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin k:=a[i]; a[i]:=a[j]; a[j]:=k end; Writeln('Наибольшая цифра ',a[n],', наименьшая цифра ',a[1], ', их разность ',a[n]-a[1]) end.
Теперь переведем из 2 в 8 10000011000110101 (2), разбиваем числа по 3 начиная с конца: 010 000 011 000 110 101 , переведем каждое из них в 8 2 0 3 0 6 5 10000011000110101 (2) = 203065 (8)
Теперь переведем из 2 16 10000011000110101 (2), разбиваем числа по 4 начиная с конца: 0001 0000 0110 0011 0101 , переведем каждое из них в 16 1 0 6 3 5 10000011000110101 (2) = 10635 (16)
n=4; { количество разрядов (цифр) в числе }
var
a:array[1..n] of integer;
i,j,k:integer;
begin
Write('Введите ',n,'-значное число: '); Read(k);
for i:=1 to 4 do
begin a[i]:=k mod 10; k:=k div 10 end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then begin k:=a[i]; a[i]:=a[j]; a[j]:=k end;
Writeln('Наибольшая цифра ',a[n],', наименьшая цифра ',a[1],
', их разность ',a[n]-a[1])
end.
Тестовое решение:
Введите 4-значное число: 1421
Наибольшая цифра 4, наименьшая цифра 1, их разность 3