Раскрасить в массиве при выводе розовым цветом минимальные элементы каждого столбца. Красит строки - Pascal
Формулировка задачи:
Подскажите, пожалуйста, что у меня тут нужно изменить..
Задание следующее : "Раскрасить в массиве при выводе розовым цветом минимальные элементы каждого столбца".
Прогу вроде бы написал, но красит только элементы каждой строки, а не столбца..
Как сделать так, чтобы все-таки красил мин. эл-ты столбца?
program p91; uses crt; var a:array [1..5,1..5] of integer; i,j,min:integer; begin randomize; clrscr; for i:=1 to 5 do begin for j:=1 to 5 do begin A[i,j]:=random(200)-100; Write(A[i, j]:5); end; writeln; end; writeln(' '); for j:=1 to 5 do begin min:=a[1,j]; for i:=1 to 5 do begin if min>a[i,j]then min:=a[i,j]; end; for i:=1 to 5 do begin if min=a[i,j] then textcolor(13) else textcolor(green); write(A[i,j]:5); end; writeln; end; readln; end.
Решение задачи: «Раскрасить в массиве при выводе розовым цветом минимальные элементы каждого столбца. Красит строки»
textual
Листинг программы
uses crt; const n=5; var a:array [1..n,1..n] of integer; b:array[1..n] of integer; i,j,min:integer; begin randomize; clrscr; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=-100+random(200); write(a[i, j]:5); end; writeln; end; writeln; for j:=1 to n do begin b[j]:=a[1,j]; for i:=2 to n do if b[j]>a[i,j]then b[j]:=a[i,j]; end; writeln; for i:=1 to n do begin for j:=1 to n do begin if a[i,j]=b[j] then textcolor(13) else textcolor(green); write(a[i,j]:5); end; writeln; end; readln end.
Объяснение кода листинга программы
- В первой части кода используется функция randomize, которая генерирует случайное число в заданном диапазоне. Функция clrscr очищает экран перед началом каждой итерации цикла.
- Затем следует цикл for i:=1 to n do, который выполняется n раз (где n - это значение переменной n). Внутри этого цикла выполняется вложенный цикл for j:=1 to n do, который также выполняется n раз.
- Внутри вложенного цикла for j:=1 to n do вычисляется значение a[i,j] и записывается в экран. Значение a[i,j] устанавливается в -100 + random(200), то есть в случайное число от -100 до 199.
- После окончания вложенного цикла выводится символ новой строки (writeln).
- Затем идет еще один вложенный цикл for i:=1 to n do, который также выполняется n раз. Внутри этого цикла сравниваются значения a[i,j] и b[j]. Если значение a[i,j] меньше значения b[j], то значение b[j] заменяется на значение a[i,j].
- После окончания вложенного цикла выводится символ новой строки (writeln).
- Затем идет еще один вложенный цикл for i:=1 to n do, который также выполняется n раз. Внутри этого цикла проверяется, равен ли элемент a[i,j] элементу b[j]. Если да, то цвет текста устанавливается в розовый (текстcolor(13)), иначе цвет текста устанавливается в зеленый (текстcolor(green)).
- После окончания вложенного цикла выводится значение a[i,j] в экран.
- Цикл for j:=1 to n do заканчивается, и начинается последняя итерация внешнего цикла for i:=1 to n do.
- В конце кода вызывается функция readln, которая ждет ввода пользователя и завершает программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д