Пусть дана матрица А (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.
Объяснение кода листинга программы
- Переменные n и m инициализируются значениями 5 и 7 соответственно.
- Создается тип данных matrix, который представляет собой матрицу целых чисел размером от 1 до n строк и от 1 до m столбцов.
- Создается тип данных vector, который представляет собой вектор целых чисел размером от 1 до n строк.
- Создается переменная a типа matrix, которая будет представлять собой матрицу для заполнения.
- Создается переменная b типа vector, которая будет представлять собой вектор, в котором будут храниться значения количества элементов в каждой строке матрицы.
- Определяется функция CheckStr, которая принимает матрицу a и индекс i в качестве параметров. Функция проверяет, содержит ли i-я строка матрицы только числа от 1 до 10. Если это так, то переменная k увеличивается на единицу. В конце функция возвращает значение k.
- В цикле 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.
- В цикле for j := 1 до m выполняется следующая последовательность действий:
- В цикле for i := 1 до n выполняется следующая последовательность действий:
- С помощью функции Write выводится значение b[i] с префиксом
b[
. - После завершения цикла i выводится символ новой строки с помощью функции Writeln.
- С помощью функции Write выводится значение b[i] с префиксом
- Завершается выполнение программы.