М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
OМайгад
OМайгад
28.10.2021 16:28 •  Информатика

Делать через паскаль! дано пятизначное число. распаковать число на цифры. собрать новое число, у которого цифры расположены в обратном порядке. делать с div и mod

👇
Ответ:
матеки
матеки
28.10.2021
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.

Пример
n= 52061
n= 16025
4,8(86 оценок)
Открыть все ответы
Ответ:
Frolinng
Frolinng
28.10.2021
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.

Тестовое решение:
Введите ключ поиска (0-49): 25
Элементы массива
 33 47  1 28 31 36 15 25 49 35 30 48 24  0 39 35  7 20 25  0
Отсортированный по возрастанию массив
  0  0  1  7 15 20 24 25 25 28 30 31 33 35 35 36 39 47 48 49
Найден элемент № 8; число шагов равно 4

Вариант с процедурами
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.

Тестовое решение:
Введите ключ поиска (0-49): 32
Элементы массива
 46 24 32 32 23 32  4 26 47  4 44  8 39  8 15 39 11 45  5 16
Отсортированный по возрастанию массив
  4  4  5  8  8 11 15 16 23 24 26 32 32 32 39 39 44 45 46 47
Найден элемент № 12; число шагов равно 5
4,8(6 оценок)
Ответ:
anton306
anton306
28.10.2021
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.

Тестовое решение:
Вес учеников
 75 72 62 85 84 60 79 65 78 67 68 72 56 76 57 59 73 56 82 59 79 57 62 85 57 58
Легких- 8, тяжелых- 9

Вариант со вводом данных:
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.

Тестовое решение:
Введите вес учеников
75 72 62 85 84 60 79 65 78 67 68 72 56 76 57 59 73 56 82 59 79 57 62 85 57 58
Легких- 8, тяжелых- 9
4,6(15 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ