Сформировать одномерный массив из индексов положительных элементов, прочитанных по строкам всей матрицы - C (СИ)

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

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

Дана матрица А размером m*n. Сформировать одномерный массив из индексов «+»-ых элементов, прочитанных по строкам всей матрицы.
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
void in_matr(int a[][10], int m, int n);
void out_matr(int a[][10], int m, int n);
void processing(int a[][10], int m, int n);
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
 main()
{ int m,n,a[10][10];
printf("Vvedite razmer:");
scanf("%d%d", &m, &n);
  in_matr(a,m,n);
  out_matr(a,m,n);
  processing(a,m,n);
  getch();
}
 void in_matr(int a[][10], int m, int n)
 { int i,j;
 printf("\n Vvedite elementy matr \n");
  for(i=0;i<m;i++)
  for(j=0;j<n;j++)
  scanf("%d", &a[i][j]);
 }
void out_matr(int a[][10], int m, int n)
{ int i,j;
 for(i=0;i<m;i++)
  {for(j=0;j<n;j++)
   printf("%d\t",a[i][j]);
    printf("\n");
   }
 }
 void processing(int a[][10], int m, int n)
 { int b[100],k=0;
 printf("\n Massiv \n");
 for(int  i=0;i<m;i++,k++)
 {for(int j=0;j<n;j++)
   if(a[i][j]>0) b[k]=i ;
   }
  for(int i=0;i<k;i++)
{ printf(" %d  ",b[k]); }
 
  }
Не могу добиться того, что она работала по задаче) помогите каким-нибудь советом...

Решение задачи: «Сформировать одномерный массив из индексов положительных элементов, прочитанных по строкам всей матрицы»

textual
Листинг программы
 void processing(int a[][10], int m, int n)
 { int b[100],k=0;
 printf("\n Massiv \n");
 for(int  i=0;i<m;i++,k++)
 {for(int j=0;j<n;j++)
   if(a[i][j]>0) b[k]=i ;
   }
  for(int i=0;i<k;i++)
{ printf(" %d  ",b[k]); }
 
  }

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

Код выполняет следующие действия:

  1. Создает пустой массив b динамически, используя выделение памяти через кучу.
  2. Инициализирует переменную k нулем.
  3. Выводит заголовок Массив.
  4. Проходит по всем строкам матрицы a.
  5. Для каждой строки проверяет каждый элемент на положительность.
  6. Если элемент положительный, то его индекс записывается в массив b с увеличением индекса k на единицу.
  7. После прохождения всех строк выводит на экран все индексы положительных элементов матрицы a, которые были записаны в массив b.

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


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

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

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