Сформировать вектор: значения первых отрицательных элементов в каждом столбце исходной матрицы - 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;
}

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

В этом коде:

  1. Объявлены переменные:
    • k - счетчик отрицательных чисел в столбцах;
    • n - счетчик чисел в столбцах;
    • i и j - индексы для обхода матрицы;
    • a[3][5] - исходная матрица 3х5;
    • b[5] - вектор для хранения первых отрицательных чисел в каждом столбце.
  2. Заполняется исходная матрица a с помощью цикла for.
  3. Затем, с помощью вложенного цикла for, проверяется каждый элемент матрицы a. Если элемент отрицательный, то его значение добавляется в вектор b и счетчик k увеличивается. После этого, счетчики i и j сбрасываются для перехода к следующему столбцу.
  4. В конце программы, с помощью цикла for, выводятся значения вектора b.
  5. Вернется 0, если в матрице есть хотя бы одно отрицательное число в каждом столбце, иначе программа выдаст некорректное сообщение.

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


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

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

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