Вопрос задан 03.07.2023 в 05:16. Предмет Информатика. Спрашивает Сергей Сергей.

Найти наибольший четный элемент массива и поменять его местами с наименьшим нечетным элементом.

Если одного из таких элементов нет, то всем элементам массива присвоить значение, равное нулю. Паскальчик Срочно
0 0
Перейти к ответам

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

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

Ответ:

program z1;

const n =10;

var a:array[1..n]of integer;

i,i1,i2,z:integer;

begin

i1:=1;

i2:=1;

write('Массив: ');  

for i:= 1 to n do  

begin

a[i]:= random(199)-99;

write(a[i]:5);  

if a[i] mod 2 = 0 then i2:=i;

if a[i] mod 2 <> 0 then i1:=i

end;

writeln;

for i:= 1 to n do  

begin

if (a[i]>a[i2]) and (a[i] mod 2 = 0) then i2:=i;

if (a[i]<a[i1]) and (a[i] mod 2 <> 0) then i1:=i

end;

if (a[i1] mod 2 = 0) or (a[i2] mod 2 <> 0) then for i:= 1 to n do a[i]:=0

else

begin

z:=a[i1];

a[i1]:=a[i2];

a[i2]:=z

end;

write('Массив: ');  

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

end.

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

Конечно, вот пример кода на языке Паскаль, который выполняет указанные вами операции:

pascal
program SwapLargestEvenWithSmallestOdd; const N = 10; // размер массива var arr: array[1..N] of Integer; i, maxEven, minOdd, temp: Integer; evenFound, oddFound: Boolean; begin evenFound := False; oddFound := False; // Заполняем массив случайными значениями for i := 1 to N do begin arr[i] := Random(100); // случайное число от 0 до 99 Write(arr[i], ' '); end; Writeln; // Находим наибольший четный и наименьший нечетный элементы maxEven := -1; minOdd := 101; // больше максимально возможного значения for i := 1 to N do begin if (arr[i] mod 2 = 0) and (arr[i] > maxEven) then begin maxEven := arr[i]; evenFound := True; end else if (arr[i] mod 2 <> 0) and (arr[i] < minOdd) then begin minOdd := arr[i]; oddFound := True; end; end; // Меняем местами наибольший четный и наименьший нечетный элементы if evenFound and oddFound then begin for i := 1 to N do begin if arr[i] = maxEven then arr[i] := minOdd else if arr[i] = minOdd then arr[i] := maxEven; end; end else begin // Если одного из элементов нет, то присваиваем всем элементам массива значение 0 for i := 1 to N do arr[i] := 0; end; // Выводим результат for i := 1 to N do Write(arr[i], ' '); end.

Обратите внимание, что в этом коде используется генерация случайных чисел и в данном случае она ограничивается числами от 0 до 99. Вы можете изменить этот диапазон в зависимости от ваших требований.

0 0

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

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

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

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