Поиск столбца с минимальным произведением в матрице - C (СИ)

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

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

вот задачка: среди столбцов заданной целочисленной матрицы, содержащих только такие элементы, которые по модулю не больше 10, найдите столбец с минимальным произведением элементов. Подскажите, пожалуйста где тут ошибка!!!Заранее очень благодарна! код программы
#include <iostream.h>
#include <math.h>
#include <conio.h>
#define M 3
#define  N 4
int main(void)
{clrscr();
 int i,j,pr,min=32768,stl;
  int A[M][N]={{5,7,1,8},
           {4,3,-7,6},
        {3,9,-1,2}};
  for(j=0;j<N;j++){
   pr=1;
  for (i=0;i<M;i++){
    pr*=(A[i][j]);
    cout<<A[i][j]<<' ';
       cout<<'\n';
   if(min<pr){
   min=pr;stl=j;}
  } }
   cout<<"Stolbec s min proizvedeniem "<<stl<<endl;
   cout<<"Min proizvedenie="<<pr;
 return 0;
}

Решение задачи: «Поиск столбца с минимальным произведением в матрице»

textual
Листинг программы
#include <stdio.h>
#include <limits.h>
 
#define n 3
#define m 3
 
int main()
{
  int matrix[n][m] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
  };
 
  int min_product = INT_MAX;
  int min_index   = -1;
 
  int i;
  int j;
 
  int product;
 
  for (i = 0; i < m; ++i) {
    product = 1;
    for (j = 0; j < n; ++j)
      product *= matrix[j][i];
 
    if (product < min_product) {
      min_product = product;
      min_index   = i;
    }
  }
 
  printf("Min index: %d\n", min_index);
  printf("Min product: %d\n", min_product);
 
  return 0;
}

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

В этом коде выполняется поиск столбца с минимальным произведением в матрице. Список действий:

  1. Создается матрица размером n на m и заполняется значениями.
  2. Создаются две переменные: min_product (минимальное произведение) и min_index (номер столбца с минимальным произведением), которые инициализируются значениями INT_MAX и -1 соответственно.
  3. Выполняется два вложенных цикла: первый - по столбцам матрицы, второй - по строкам.
  4. Внутри второго цикла перемножаются элементы строки, результат сохраняется в переменную product.
  5. Если product меньше min_product, то обновляются значения min_product и min_index.
  6. После завершения циклов выводятся на экран значения min_index и min_product.
  7. Программа возвращает 0, заканчивая свою работу.

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


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

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

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