Вопрос задан 23.07.2023 в 09:50. Предмет Информатика. Спрашивает Телегин Павел.

Задана последовательность a1. ап вещественных чисел. Округлить каждое до целого ирасположить по

убыванию. Вывести исходный и полученный массив. Вставить в него число Р.сохраняя упорядоченность. Pascal abc
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Токарева Алёна.

var

 A: array [1..11] of Real;

 i, j, aj, ai: Integer;

 amax, atmp, P: Real;

begin

 Randomize;

 WriteLn ('Исходный массив:');

 for i := Low (A) to High (A) - 1 do begin

   A [i] := Random * 100;

   Write (A [i]:5:2, ' ');

 end;

 for i := Low (A) to High (A) - 1 do begin

   A [i] := Round (A [i]);

 end;

 for i := Low (A) to High (A) - 1 do begin

   amax := A [i];

   aj := i;

   for j := i to High (A) do begin

     if A [j] > amax then begin

       amax := A [j];

       aj := j;

     end;

   end;

   if i <> aj then begin

     atmp := A [i];

     A [i] := A [aj];

     A [aj] := atmp;

   end;

 end;

 WriteLn;

 WriteLn ('Полученный массив:');

 for i := Low (A) to High (A) - 1 do begin

   Write (A [i]:5:2, ' ');

 end;

 WriteLn;

 Write ('Введите число Р: ');

 Read (P);

 ai := High (A);

 for i := Low (A) to High (A) - 1 do begin

   if P > A [i] then begin

     ai := i;

     Break;

   end;

 end;

 for i := High (A) downto ai + 1 do

   A [i] := A [i - 1];

 A [ai] := P;

 WriteLn ('Массив после вставки:');

 for i := Low (A) to High (A) do begin

   Write (A [i]:5:2, ' ');

 end;

end.

   

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи в Pascal ABC (Pascal for Artificial Intelligence, Big Data, and Cloud Computing), мы можем использовать следующий алгоритм:

  1. Заполним исходный массив a из вещественных чисел.
  2. Округлим каждое число до целого, сохраняя результат в новом массиве b.
  3. Отсортируем массив b по убыванию.
  4. Вставим число Р в массив b, сохраняя упорядоченность.
  5. Выведем исходный массив a и полученный массив b.

Вот как выглядит решение на Pascal ABC:

pascal
program RoundAndSort; const N = 5; // Размерность массива var a: array[1..N] of Real; // Исходный массив с вещественными числами b: array[1..N] of Integer; // Массив с округленными целыми числами i, j, P: Integer; // Переменные для циклов и числа P // Процедура для сортировки массива b по убыванию procedure SortDescending(var arr: array of Integer); var i, j, temp: Integer; begin for i := 0 to High(arr) do begin for j := i + 1 to High(arr) do begin if arr[i] < arr[j] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end; end; end; end; begin // Ввод исходного массива a writeln('Введите ', N, ' вещественных чисел:'); for i := 1 to N do readln(a[i]); // Округление каждого числа до целого и сохранение в массив b for i := 1 to N do b[i] := Round(a[i]); // Сортировка массива b по убыванию SortDescending(b); // Ввод числа P, которое нужно вставить writeln('Введите число P:'); readln(P); // Поиск позиции для вставки числа P в массив b i := 1; while (i <= N) and (b[i] >= P) do i := i + 1; // Вставка числа P в массив b, сдвигая элементы if i <= N then begin for j := N downto i + 1 do b[j] := b[j - 1]; b[i] := P; end else b[N] := P; // Вывод исходного массива a и полученного массива b writeln('Исходный массив:'); for i := 1 to N do write(a[i]:8:2, ' '); writeln; writeln('Полученный массив:'); for i := 1 to N do write(b[i]:8, ' '); writeln; end.

Примечание: Пожалуйста, убедитесь, что у вас установлена и настроена среда Pascal ABC для успешного выполнения этой программы.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос