Написать программу для решения следующей задачи. В двумерном массиве, состоящем из целочисленных элементов, поменять местами в каждой строке наибольший и первый не принадлежащий интервалу (a, b) элементы. (паскаль)
Приведу пример программы на Pascal, которая решает данную задачу:
program ReplaceMaxAndNotInInterval; const N = 3; // количество строк M = 4; // количество столбцов a = 5; // начало интервала b = 10; // конец интервала var arr: array[1..N, 1..M] of integer; i, j, maxIndex, temp: integer; begin // заполняем массив случайными значениями randomize; for i := 1 to N do for j := 1 to M do arr[i, j] := random(15); // генерация случайного числа от 0 до 14 // выводим исходный массив writeln('Исходный массив:'); for i := 1 to N do begin for j := 1 to M do write(arr[i, j]:3); writeln; end; // меняем местами наибольший элемент и первый не принадлежащий интервалу for i := 1 to N do begin maxIndex := 1; for j := 2 to M do if (arr[i, j] > arr[i, maxIndex]) and not ((arr[i, j] > a) and (arr[i, j] < b)) then maxIndex := j; // меняем местами элементы temp := arr[i, 1]; arr[i, 1] := arr[i, maxIndex]; arr[i, maxIndex] := temp; end; // выводим измененный массив writeln('Измененный массив:'); for i := 1 to N do begin for j := 1 to M do write(arr[i, j]:3); writeln; end; end.
Эта программа создает двумерный массив случайных целочисленных значений, затем меняет местами в каждой строке наибольший элемент и первый не принадлежащий интервалу (a, b) элемент. Результаты выводятся на экран до и после изменения.
Обратите внимание, что в приведенном примере используется массив размером 3x4, интервал (a, b) от 5 до 10 и генерация случайных значений от 0 до 14. Вам может потребоваться адаптировать код под свои требования.
Приведу пример программы на Pascal, которая решает данную задачу:
program ReplaceMaxAndNotInInterval;const
N = 3; // количество строк
M = 4; // количество столбцов
a = 5; // начало интервала
b = 10; // конец интервала
var
arr: array[1..N, 1..M] of integer;
i, j, maxIndex, temp: integer;
begin
// заполняем массив случайными значениями
randomize;
for i := 1 to N do
for j := 1 to M do
arr[i, j] := random(15); // генерация случайного числа от 0 до 14
// выводим исходный массив
writeln('Исходный массив:');
for i := 1 to N do
begin
for j := 1 to M do
write(arr[i, j]:3);
writeln;
end;
// меняем местами наибольший элемент и первый не принадлежащий интервалу
for i := 1 to N do
begin
maxIndex := 1;
for j := 2 to M do
if (arr[i, j] > arr[i, maxIndex]) and not ((arr[i, j] > a) and (arr[i, j] < b)) then
maxIndex := j;
// меняем местами элементы
temp := arr[i, 1];
arr[i, 1] := arr[i, maxIndex];
arr[i, maxIndex] := temp;
end;
// выводим измененный массив
writeln('Измененный массив:');
for i := 1 to N do
begin
for j := 1 to M do
write(arr[i, j]:3);
writeln;
end;
end.
Эта программа создает двумерный массив случайных целочисленных значений, затем меняет местами в каждой строке наибольший элемент и первый не принадлежащий интервалу (a, b) элемент. Результаты выводятся на экран до и после изменения.
Обратите внимание, что в приведенном примере используется массив размером 3x4, интервал (a, b) от 5 до 10 и генерация случайных значений от 0 до 14. Вам может потребоваться адаптировать код под свои требования.