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

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

Ответ:
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.



Конечно, вот пример кода на языке Паскаль, который выполняет указанные вами операции:
pascalprogram 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. Вы можете изменить этот диапазон в зависимости от ваших требований.


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili