
PascalABC.Создать целочисленный массив на 5 строк и 5 столбцов,заполнить его случайными числами в
пределе от -10 до 10 и вывести на экран с отображением максимальных элементов массива зеленым цветом,и минимальных-красным

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

// PascalABC.NET 3.4, сборка 1767 от 27.08.2018
// Внимание! Если программа не работает, обновите версию!
uses GraphABC;
procedure ColorPrint(a: array[,] of integer);
begin
var s := a.ElementsByRow;
var (min, max) := (s.Min, s.Max);
var DefColor := FontColor;
font.Name := 'Courier New';
for var i := 0 to a.RowCount - 1 do
begin
for var j := 0 to a.ColCount - 1 do
if a[i, j] = min then
begin
Font.Color := clRed;
Write(a[i, j]:4);
Font.Color := DefColor
end
else
if a[i, j] = max then
begin
Font.Color := clGreen;
Write(a[i, j]:4);
Font.Color := DefColor
end
else Write(a[i, j]:4);
Writeln
end
end;
begin
var a := MatrRandom(5, 5, -10, 10);
ColorPrint(a)
end.





Для решения задачи в PascalABC можно использовать типизированные массивы и функции для генерации случайных чисел. Я предполагаю, что вы используете графический интерфейс для отображения цветов на экране. В этом случае, вам нужно будет подключить модуль GraphABC
.
Вот пример кода для создания, заполнения и отображения массива с использованием графического интерфейса в PascalABC:
pascaluses GraphABC; const Rows = 5; Columns = 5; type IntegerArray = array[1..Rows, 1..Columns] of Integer; var Arr: IntegerArray; MaxValue, MinValue: Integer; // Функция для генерации случайного числа в заданном диапазоне function RandomNumber(min, max: Integer): Integer; begin Result := Random(max - min + 1) + min; end; // Процедура для заполнения массива случайными числами и поиска максимальных и минимальных значений procedure FillArrayAndFindMinMax(var Arr: IntegerArray); var i, j: Integer; begin MaxValue := Arr[1, 1]; MinValue := Arr[1, 1]; for i := 1 to Rows do begin for j := 1 to Columns do begin Arr[i, j] := RandomNumber(-10, 10); // Находим максимальное значение if Arr[i, j] > MaxValue then MaxValue := Arr[i, j]; // Находим минимальное значение if Arr[i, j] < MinValue then MinValue := Arr[i, j]; end; end; end; // Процедура для отображения массива с подсветкой максимальных и минимальных значений procedure DisplayArrayWithHighlights(Arr: IntegerArray); const CellSize = 50; var i, j: Integer; begin for i := 1 to Rows do begin for j := 1 to Columns do begin // Определяем цвет для ячейки if Arr[i, j] = MaxValue then SetBrushColor(clGreen) else if Arr[i, j] = MinValue then SetBrushColor(clRed) else SetBrushColor(clWhite); // Отрисовываем ячейку FillRect(j * CellSize, i * CellSize, (j + 1) * CellSize, (i + 1) * CellSize); SetFontColor(clBlack); SetFontSize(14); TextOut(j * CellSize + 10, i * CellSize + 20, Arr[i, j].ToString); end; end; end; begin // Инициализация графической библиотеки SetWindowSize(Columns * 50, Rows * 50); SetWindowCaption('Массив с подсветкой максимальных и минимальных элементов'); Randomize; // Заполняем массив и находим максимальные и минимальные значения FillArrayAndFindMinMax(Arr); // Отображаем массив с подсветкой максимальных и минимальных элементов DisplayArrayWithHighlights(Arr); end.
Обратите внимание, что код будет отображать массив в графическом окне с ячейками размером 50x50 пикселей для каждого элемента массива. Максимальные элементы будут выделены зеленым цветом, а минимальные - красным.


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








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