Получите вектор, компоненты которого находятся по правилу - Turbo Pascal
Формулировка задачи:
1.Дана матрица В(N х N). Получите вектор А(N), компоненты которого находятся по правилу: Ai равно количеству отрицательных чисел, с которых начинается i-ая строка.
Решение задачи: «Получите вектор, компоненты которого находятся по правилу»
textual
Листинг программы
uses crt; const nmax=20; var b:array[1..nmax,1..nmax] of integer; a:array[1..nmax] of byte; n,i,j,k:byte; begin clrscr; randomize; repeat write('Размер матрицы до ',nmax,' n='); readln(n); until n in [1..nmax]; writeln('Исходная матрица:'); for i:=1 to n do begin for j:=1 to n do begin b[i,j]:=-10+random(25); write(b[i,j]:4); end; writeln; end; writeln; for i:=1 to n do begin j:=1; while(j<=n)and(b[i,j]<0) do j:=j+1; a[i]:=j-1; end; writeln('Вектор количеств отрицательных в начале строк:'); for i:=1 to n do write(a[i]:3); readln end.
Объяснение кода листинга программы
- В первой строке кода используется библиотека crt, которая является стандартной для языка Turbo Pascal.
- В следующей строке задается константа nmax, которая определяет максимальное количество элементов в векторе.
- Далее объявляются две переменные: b и a. Переменная b представляет собой матрицу размером nmax x nmax, а переменная a представляет собой вектор размером nmax. Обе переменные предназначены для хранения целых чисел.
- Затем объявляются три переменные: n, i, j. Переменные n, i и j представляют собой байтовые значения.
- В блоке repeat-until запрашивается размер матрицы от пользователя.
- В блоке for i:=1 до n do... выполняется цикл, который заполняет матрицу b случайными значениями.
- Затем выполняется цикл for j:=1 до n do... , который ищет первую строку с положительными значениями в матрице b.
- Если такая строка найдена, то переменная j устанавливается равной j+1, а переменная a[i] устанавливается равной j-1.
- В конце выводится вектор a[i], который содержит количество положительных значений в каждой строке матрицы b.
- Код завершается вызовом функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д