Сформировать вектор: значения первых отрицательных элементов в каждом столбце исходной матрицы - C (СИ)
Формулировка задачи:
Дана вещественная матрица размера M x N. Сформировать вектор b, в котором элементы вычисляются как значения первых отрицательных элементов в каждом столбце исходной матрицы.
Решение задачи: «Сформировать вектор: значения первых отрицательных элементов в каждом столбце исходной матрицы»
textual
Листинг программы
include <stdio.h> #include <stdlib.h> int main( ) { int k=0, n=0, i, j, a[3][5], b[5]; //если есть условие что в каждом столбце есть отрицательное число то размер b <= 5 for(i = 0; i < 3; i++ ) for(j = 0; j < 5; j++) { printf("\n a[%d][%d]=", i+1, j+1); scanf("%d", &a[i][j]); } j=0; for (i = 0; i < 3; i++) { if (a[i][j]<0) { b[k]=a[i][j]; k++; i=0; j++; } } for (i = 0; i<5; i++ ) printf ("\n b[%d]=%d\n ", i+1, b[i]); //так получится если у Вас в каждом столбце матрицы есть хотя бы отрицательное значение то так сработает //в противном случае у Вас в массиве в выводе будут какахи return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
k
- счетчик отрицательных чисел в столбцах;n
- счетчик чисел в столбцах;i
иj
- индексы для обхода матрицы;a[3][5]
- исходная матрица 3х5;b[5]
- вектор для хранения первых отрицательных чисел в каждом столбце.
- Заполняется исходная матрица
a
с помощью циклаfor
. - Затем, с помощью вложенного цикла
for
, проверяется каждый элемент матрицыa
. Если элемент отрицательный, то его значение добавляется в векторb
и счетчикk
увеличивается. После этого, счетчикиi
иj
сбрасываются для перехода к следующему столбцу. - В конце программы, с помощью цикла
for
, выводятся значения вектораb
. - Вернется 0, если в матрице есть хотя бы одно отрицательное число в каждом столбце, иначе программа выдаст некорректное сообщение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д