Вопрос задан 10.07.2023 в 09:29. Предмет Информатика. Спрашивает Шишкова Оксана.

Как выполнить реверс максимального и минимального элементов массива в этой программе? ПАСКАЛЬ

const n = 10; type mass = array[1..n] of integer; var a: mass; i, k, max,c, min, j: integer; begin randomize; for i := 1 to n do A[i] := random(20)-10; for i := 1 to n do write(a[i]:3); writeln(); max := 1; for j := 1 to n - 1 do begin for i := j + 1 to n do if a[i] > max then max := a[i]; end; Writeln(Max) ; min:=1; for j:=1 to n-1 do begin for i := j + 1 to n do if a[i] end; writeln(min);
0 0
Перейти к ответам

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

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

Ответ:

Обратите внимание на то, что использование переменных c,k,j совершенно не нужно. Также в переменных

max,min лучше запоминать индексы, чтобы затем выполнить реверс.

const n = 10;

type mass = array[1..n] of integer;

var

a: mass;

i, max,min: integer;

begin

randomize;

for i := 1 to n do

A[i] := random(20)-10;

for i := 1 to n do

write(a[i]:3);

writeln();

// В переменных max и min будем запоминать

// ИНДЕКСЫ макс. и мин. элементов

max := 1;

min := 1;

for i := 1 to n do begin

if a[i] > a[max] then max := i;

if a[i] < a[min] then min := i;

end;

Writeln('A[',max,'] = ',a[max]);

Writeln('A[',min,'] = ',a[min]);

// Меняем местами max и min

i := a[max];

a[max]:=a[min];

a[min]:=i;

// Выводим результат на экран

for i := 1 to n do write(a[i]:3);

end.

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

Чтобы выполнить реверс максимального и минимального элементов массива в данной программе на Паскале, вам потребуется внести следующие изменения:

  1. Добавьте две переменные для хранения индексов максимального и минимального элементов:
pascal
var maxIndex, minIndex: integer;
  1. Измените блок кода, который находит максимальный элемент, чтобы он также сохранял индекс этого элемента:
pascal
max := a[1]; maxIndex := 1; for j := 1 to n - 1 do begin for i := j + 1 to n do begin if a[i] > max then begin max := a[i]; maxIndex := i; end; end; end;
  1. Аналогично, измените блок кода, который находит минимальный элемент, чтобы он сохранял индекс:
pascal
min := a[1]; minIndex := 1; for j := 1 to n - 1 do begin for i := j + 1 to n do begin if a[i] < min then begin min := a[i]; minIndex := i; end; end; end;
  1. Выполните обратный обмен значений максимального и минимального элементов с использованием переменной-помощника c:
pascal
c := a[minIndex]; a[minIndex] := a[maxIndex]; a[maxIndex] := c;

В результате программа будет иметь следующий вид:

pascal
const n = 10; type mass = array[1..n] of integer; var a: mass; i, k, max, c, min, j, maxIndex, minIndex: integer; begin randomize; for i := 1 to n do A[i] := random(20) - 10; for i := 1 to n do write(a[i]:3); writeln(); max := a[1]; maxIndex := 1; for j := 1 to n - 1 do begin for i := j + 1 to n do begin if a[i] > max then begin max := a[i]; maxIndex := i; end; end; end; writeln('Max:', max); min := a[1]; minIndex := 1; for j := 1 to n - 1 do begin for i := j + 1 to n do begin if a[i] < min then begin min := a[i]; minIndex := i; end; end; end; writeln('Min:', min); c := a[minIndex]; a[minIndex] := a[maxIndex]; a[maxIndex] := c; for i := 1 to n do write(a[i]:3); writeln(); end.

После выполнения этих изменений программа будет выводить массив с реверсированными максимальным и минимальным элементами.

0 0

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

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

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

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