Из массива A получите массив B - Turbo Pascal
Формулировка задачи:
Используя следующий фрагмент программы
var A: array [1..20. 1..20] of integer; B: array [1..20] of boolean;
из массива A получите массив B, присвоив его k-му элементу значение true, если выполнено указанное ниже условие, в противном случае присвойте значение false Все элементы k-го столбца массива A нулевые Заранее спасибоРешение задачи: «Из массива A получите массив B»
textual
Листинг программы
uses crt; const n = 20; var a: array [1..n, 1..n] of integer; b: array [1..n] of boolean; i, j: integer; bool: boolean; begin for i := 1 to n do for j := 1 to n do begin write('A [', i, ', ', j, '] = '); read(a[i, j]); end; clrscr; for i := 1 to n do begin for j := 1 to n do write(a[i, j]:4); writeln; end; for j := 1 to n do begin bool := true; for i := 1 to n do if (a[i, j] <> 0) then begin bool := not bool; break; end; b[j] := bool; write(b[j], ' '); end; end.
Объяснение кода листинга программы
- Объявлены переменные:
- a: массив размером [1..n, 1..n] для хранения целочисленных значений;
- b: массив размером [1..n] для хранения булевых значений;
- i, j: целочисленные переменные для работы с циклами;
- bool: булевая переменная для работы с логикой программы.
- Заполнение массива a:
- Два вложенных цикла для перебора всех ячеек массива a.
- В каждой ячейке массива a выводится сообщение с индексами ячейки и запросом на ввод значения.
- Значение сохраняется в соответствующую ячейку массива a.
- Очистка экрана:
- Вызов функции clrscr для очистки экрана.
- Вывод значений массива a:
- Два вложенных цикла для перебора всех ячеек массива a.
- В каждой ячейке массива a выводится значение ячейки, дополненное символами пробела и перевода строки.
- Формирование массива b:
- Внешний цикл для перебора всех строк массива a.
- Для каждой строки массива a формируется булево значение:
- Инициализируется булево значение bool как true.
- Внутренний цикл для перебора всех столбцов массива a.
- Если значение в текущей ячейке массива a не равно нулю, то:
- Значение булевого параметра bool инвертируется.
- Цикл прерывается командой break.
- Значение булевого параметра bool сохраняется в соответствующей ячейке массива b.
- Выводится значение булевого параметра b с добавлением символа пробела.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д