Пусть дана матрица А (n х m). Постройте вектор, каждый элемент которого равен количеству элементов в i-й строке матрицы - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Пусть дана матрица А (n х m). Постройте вектор, каждый элемент которого равен количеству элементов в i-й строке матрицы А, не принадлежащих отрезку [0, 10]. Воспользуйтесь функцией, делающей соответствующую проверку в i-й строке. Заранее спс)

Решение задачи: «Пусть дана матрица А (n х m). Постройте вектор, каждый элемент которого равен количеству элементов в i-й строке матрицы»

textual
Листинг программы
const
  n=5;
  m=7;
type
  matrix=array [1..n, 1..m] of integer;
  vector=array [1..n] of integer;
var
  a: matrix;
  b: vector;
  i,j: integer;
 
function CheckStr(a: matrix; i: integer): integer;
var
  j,k: integer;
begin
  k:=0;
  for j:=1 to m do
    if not (a[i,j] in [1..10]) then inc(k);
  CheckStr:=k;
end;
 
begin
  writeln('Матрица: ');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          a[i,j]:=random(41);
          write(a[i,j]:4);
        end;
      b[i]:=CheckStr(a,i);
      writeln;
    end;
  writeln('Полученный вектор: ');
  for i:=1 to n do write(b[i]:4);
  writeln;
end.

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

  1. Переменные n и m инициализируются значениями 5 и 7 соответственно.
  2. Создается тип данных matrix, который представляет собой матрицу целых чисел размером от 1 до n строк и от 1 до m столбцов.
  3. Создается тип данных vector, который представляет собой вектор целых чисел размером от 1 до n строк.
  4. Создается переменная a типа matrix, которая будет представлять собой матрицу для заполнения.
  5. Создается переменная b типа vector, которая будет представлять собой вектор, в котором будут храниться значения количества элементов в каждой строке матрицы.
  6. Определяется функция CheckStr, которая принимает матрицу a и индекс i в качестве параметров. Функция проверяет, содержит ли i-я строка матрицы только числа от 1 до 10. Если это так, то переменная k увеличивается на единицу. В конце функция возвращает значение k.
  7. В цикле for i := 1 до n выполняется следующая последовательность действий:
    • В цикле for j := 1 до m выполняется следующая последовательность действий:
      • В каждой итерации цикла создается случайное число от 1 до 10 и присваивается переменной a[i,j].
      • С помощью функции Write выводится значение a[i,j] с префиксом a[.
    • После завершения цикла j переменная b[i] вызывается функция CheckStr с аргументами a и i. Результат функции присваивается переменной b[i].
    • Выводится символ новой строки с помощью функции Writeln.
  8. В цикле for i := 1 до n выполняется следующая последовательность действий:
    • С помощью функции Write выводится значение b[i] с префиксом b[.
    • После завершения цикла i выводится символ новой строки с помощью функции Writeln.
  9. Завершается выполнение программы.

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

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