Делать через паскаль! дано пятизначное число. распаковать число на цифры. собрать новое число, у которого цифры расположены в обратном порядке. делать с div и mod
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018 Внимание! Если программа не работает, обновите версию!
begin var n:=Abs(ReadInteger('n=')); if not n.Between(10000,99999) then begin Writeln('Число должно быть пятизначным'); exit end; var a:=new integer[5]; for var i:=0 to 4 do begin a[i]:=n mod 10; n:=n div 10 end; n:=a[0]; for var i:=1 to 4 do n:=10*n+a[i]; Writeln('n= ',n) end.
Const n = 20; var a: array[1..n] of integer; i,j,k,m,li,ri,mi,s,x: integer; begin Write('Введите ключ поиска (0-49): '); Read(x); { заполнить массив значениями } Randomize; Writeln('Элементы массива'); for i := 1 to n do begin a[i] := Random(50); Write(a[i]:3); end; Writeln; { сортировка } for i := 1 to n-1 do for j := 1 to n-i do if a[j] > a[j+1] then begin s := a[j]; a[j] := a[j+1]; a[j+1] := s end; Writeln('Отсортированный по возрастанию массив'); for i := 1 to n do Write(a[i]:3); Writeln; { бинарный поиск } li:=1; ri:=n; k:=0; while li<ri do begin mi:=(li+ri) div 2; if a[mi]<x then li:=mi+1 else ri:=mi; Inc(k) end; if a[ri]=x then m:=ri else m:=0; { вывод результатов } if m>0 then Writeln('Найден элемент № ',m,'; число шагов равно ',k) else Writeln('Такого элемента в массиве нет'); end.
Вариант с процедурами const n = 20; type V=array[1..n] of integer;
procedure SortBySelect(var a:V); {Сортировка выбором} var i, j, k: integer; x: integer; begin for i := 1 to n do begin k := i; x := a[i]; for j := i+1 to n do if a[j]<x then begin k := j; x := a[j] end; a[k] := a[i]; a[i] := x end end;
procedure BinSearch(var a:V;key:integer;var k,m:integer); var li,ri,mi:integer; begin li:=1; ri:=n; k:=0; while li<ri do begin mi:=(li+ri) div 2; if a[mi]<key then li:=mi+1 else ri:=mi; Inc(k) end; if a[ri]=key then m:=ri else m:=-1 end;
var a:V; i,k,m,x: integer; begin Write('Введите ключ поиска (0-49): '); Read(x); { заполнить массив значениями } Randomize; Writeln('Элементы массива'); for i := 1 to n do begin a[i] := Random(50); Write(a[i]:3); end; Writeln; SortBySelect(a); { сортировка выбором } Writeln('Отсортированный по возрастанию массив'); for i := 1 to n do Write(a[i]:3); Writeln; BinSearch(a,x,k,m); { бинарный поиск } if m>0 then Writeln('Найден элемент № ',m,'; число шагов равно ',k) else Writeln('Такого элемента в массиве нет'); end.
Var i,p,k1,k2:integer; begin Randomize; Writeln('Вес учеников'); k1:=0; k2:=0; for i:=1 to 26 do begin p:=Random(31)+55; Write(p:3); if p<60 then Inc(k1) else if p>=75 then Inc(k2) end; Writeln; Writeln('Легких- ',k1,', тяжелых- ',k2) end.
Вариант со вводом данных: var i,p,k1,k2:integer; begin Writeln('Введите вес учеников'); k1:=0; k2:=0; for i:=1 to 26 do begin Read(p); if p<60 then Inc(k1) else if p>=75 then Inc(k2) end; Writeln('Легких- ',k1,', тяжелых- ',k2) end.
Внимание! Если программа не работает, обновите версию!
begin
var n:=Abs(ReadInteger('n='));
if not n.Between(10000,99999) then begin
Writeln('Число должно быть пятизначным');
exit
end;
var a:=new integer[5];
for var i:=0 to 4 do begin
a[i]:=n mod 10;
n:=n div 10
end;
n:=a[0];
for var i:=1 to 4 do n:=10*n+a[i];
Writeln('n= ',n)
end.
Пример
n= 52061
n= 16025