
Нужна ваша помощь Сформировать в паскале двумерный массив приоизвольного размера (размер массива
вводить с клавиатуры - количество строк и количество столбцов) состоящий из целочисленных элементов 2.Заполнить массив с помощью генератора случайных чисел в диапазоне [-20;20] 3. Вывести на экран в виде матрицы 4. Найти мин и макс и поменять местами 5. Вывести на экран в виде матрицы В паскале

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

var
A: array [1..100, 1..100] of integer;
i, j, n, y, mini, minj, maxi, maxj, temp: integer;
const
format = 4;
begin
Randomize;
writeln('Введите колличество строк и столбцов через пробел (пример: 3 4)');
read(n, y);
writeln('Исходный массив');
for i := 1 to n do
begin
for j := 1 to y do
begin
A[i, j] := random(40) - 20;
write(A[i, j] : format);
end;
writeln;
end;
mini := 1;
minj := 1;
maxi := 1;
maxj := 1;
for i := 1 to n do
for j := 1 to y do
begin
if A[i, j] < A[mini, minj] then
begin
mini := i;
minj := j;
end ;
if A[i, j] > A[maxi, maxj] then
begin
maxi := i;
maxj := j;
end ;
end;
writeln;
WriteLn('Минимальный = ', A[mini, minj], ' в ', mini, ' строке ', minj, ' колоне.');
WriteLn('Максимальный = ', A[maxi, maxj], ' в ', maxi, ' строке ', maxj, ' колоне.');
temp := A[maxi, maxj];
A[maxi, maxj] := A[mini, minj];
A[mini, minj] := temp;
writeln;
writeln('Преобразованный массив');
for i := 1 to n do
begin
for j := 1 to y do
write(A[i, j] : format);
writeln;
end;
readln;
end.




Для выполнения задачи в Pascal, вы можете использовать следующий код. Вам нужно создать процедуру или функцию для каждого шага:
- Создайте двумерный массив с заданными размерами (количество строк и столбцов).
- Заполните массив случайными целыми числами в диапазоне [-20;20].
- Выведите массив на экран в виде матрицы.
- Найдите минимальное и максимальное значение в массиве и поменяйте их местами.
- Выведите измененный массив на экран.
Вот пример кода:
pascalprogram TwoDArrayMinMaxSwap; const MaxRows = 100; MaxCols = 100; var arr: array[1..MaxRows, 1..MaxCols] of integer; numRows, numCols, i, j, minVal, maxVal, temp: integer; procedure GenerateRandomArray; begin for i := 1 to numRows do for j := 1 to numCols do arr[i, j] := Random(41) - 20; // Генерируем случайное число в диапазоне [-20; 20] end; procedure FindMinMaxAndSwap; begin minVal := arr[1, 1]; maxVal := arr[1, 1]; for i := 1 to numRows do for j := 1 to numCols do begin if arr[i, j] < minVal then minVal := arr[i, j]; if arr[i, j] > maxVal then maxVal := arr[i, j]; end; // Меняем местами minVal и maxVal temp := minVal; minVal := maxVal; maxVal := temp; end; procedure PrintArray; begin for i := 1 to numRows do begin for j := 1 to numCols do Write(arr[i, j]:4); Writeln; end; end; begin Randomize; Write('Введите количество строк: '); Readln(numRows); Write('Введите количество столбцов: '); Readln(numCols); if (numRows > MaxRows) or (numCols > MaxCols) then begin Writeln('Слишком большие размеры массива.'); Exit; end; GenerateRandomArray; Writeln('Исходный массив:'); PrintArray; FindMinMaxAndSwap; Writeln('Массив после замены минимального и максимального значений:'); PrintArray; Readln; end.
Этот код позволит вам выполнить все шаги, описанные в вашей задаче, в среде Pascal.


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

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