Вопрос задан 14.11.2023 в 13:30. Предмет Информатика. Спрашивает Крайцер Анастасия.

Задан массив чисел. Составить алгоритм и программу его переработки в соответствии с вариантом

задания, организовав вывод исходного и полученного массивов. Данные для отладки выбрать самостоятельно. Задание: Определить номер и значение самого последнего минимального элемента массива. Инвертировать первую половину массива.Pascal ABC и Delphi 7
0 0
Перейти к ответам

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

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

const

 N_MAX = 100;

var

 m: Array [1 .. N_MAX] of Integer;

 n, i, j, IndMin, buffer: Integer;

begin

 Read(n);

 for i := 1 to n do

   Read(m[i]);

 WriteLn('Подзадача 1:');

 IndMin := 1;

 for i := 2 to n do

   if m[i] <= IndMin then

     IndMin := i;

 WriteLn(IndMin);

 WriteLn('Подзадача 2:');

 i := 1;

 j := n div 2;

 while i < j do begin

   buffer := m[i];

   m[i] := m[j];

   m[j] := buffer;

   i := i + 1;

   j := j - 1;

 end;

 for i := 1 to n do

   Write(m[i], ' ');

end.

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

Вот пример алгоритма и программы на языке Delphi 7 для решения данной задачи:

Алгоритм: 1. Ввести размер массива и сам массив. 2. Инициализировать переменные minIndex и minValue значением первого элемента массива. 3. Пройтись по всем элементам массива, начиная с первого. 4. Если текущий элемент меньше minValue, то обновить значение minValue и minIndex. 5. После окончания прохода найти последний элемент с таким же значением как minValue и запомнить его индекс lastMinIndex. 6. Если lastMinIndex находится в первой половине массива, то инвертировать все элементы с начала массива до lastMinIndex включительно. 7. Вывести исходный массив и полученный массив.

Программа на языке Delphi 7:

```pascal program Task; var n, i, minIndex, lastMinIndex: integer; minValue: real; arr: array of real; begin // Ввод размера и массива Write('Введите размер массива: '); Readln(n); SetLength(arr, n); Writeln('Введите элементы массива:'); for i := 0 to n-1 do Readln(arr[i]); // Нахождение минимального элемента и его последнего вхождения minIndex := 0; minValue := arr[minIndex]; lastMinIndex := 0; for i := 1 to n-1 do begin if arr[i] < minValue then begin minValue := arr[i]; minIndex := i; end else if arr[i] = minValue then lastMinIndex := i; end; // Инвертирование первой половины массива, если последний минимальный элемент находится в первой половине if lastMinIndex <= n div 2 then begin for i := 0 to lastMinIndex div 2 do begin // Обмен значений элементов arr[i] := arr[i] + arr[lastMinIndex - i]; arr[lastMinIndex - i] := arr[i] - arr[lastMinIndex - i]; arr[i] := arr[i] - arr[lastMinIndex - i]; end; end; // Вывод исходного и полученного массивов Writeln('Исходный массив:'); for i := 0 to n-1 do Write(arr[i]:0:2, ' '); Writeln; Writeln('Полученный массив:'); for i := 0 to n-1 do Write(arr[i]:0:2, ' '); Readln; end. ```

Вы можете ввести размер массива и элементы самостоятельно, чтобы выполнить программу и увидеть результат.

0 0

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

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

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

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