Из массива 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.

Объяснение кода листинга программы

  1. Объявлены переменные:
    • a: массив размером [1..n, 1..n] для хранения целочисленных значений;
    • b: массив размером [1..n] для хранения булевых значений;
    • i, j: целочисленные переменные для работы с циклами;
    • bool: булевая переменная для работы с логикой программы.
  2. Заполнение массива a:
    • Два вложенных цикла для перебора всех ячеек массива a.
    • В каждой ячейке массива a выводится сообщение с индексами ячейки и запросом на ввод значения.
    • Значение сохраняется в соответствующую ячейку массива a.
  3. Очистка экрана:
    • Вызов функции clrscr для очистки экрана.
  4. Вывод значений массива a:
    • Два вложенных цикла для перебора всех ячеек массива a.
    • В каждой ячейке массива a выводится значение ячейки, дополненное символами пробела и перевода строки.
  5. Формирование массива b:
    • Внешний цикл для перебора всех строк массива a.
    • Для каждой строки массива a формируется булево значение:
      • Инициализируется булево значение bool как true.
      • Внутренний цикл для перебора всех столбцов массива a.
      • Если значение в текущей ячейке массива a не равно нулю, то:
        • Значение булевого параметра bool инвертируется.
        • Цикл прерывается командой break.
      • Значение булевого параметра bool сохраняется в соответствующей ячейке массива b.
      • Выводится значение булевого параметра b с добавлением символа пробела.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы