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

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

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

Написать программу на двумерный массив с использованием динамической памяти. Дана матрица ... ... ... Написать программы построения вектора b1, b2, ..., bm, элементы которого соответственно равны значениям средних арифметических элементов строк

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

textual
Листинг программы
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
 
 
 
 
int main()
{
  int **arr,m,n,i,j,summ=0;
  float *b;
 
  printf("vvedite razmernost matrici MxN:\n");
  scanf("%d%d",&m,&n);
 
  arr=(int**)malloc(m*sizeof(int*));
  b=(float*)malloc(m*sizeof(float));
 
  for(i=0;i<m;i++)
  {
   arr[i]=(int*)malloc(n*sizeof(int));
 
   for(j=0;j<n;j++)
   {
     arr[i][j]=rand()%10;
     printf("%d ",arr[i][j]);
     summ+=arr[i][j];
   }
 
   printf("\n");
   b[i]=(float)summ/n;
   summ=0;
  }
  
  for(i=0;i<m;i++)
  printf("%f ",b[i]);
 
  getch();
  return 0;
}

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

В этом коде:

  1. arr - это двумерный массив (матрица) целых чисел, который будет содержать в себе случайные числа от 0 до 9.
  2. m и n - это переменные, которые хранят количество строк и столбцов матрицы соответственно.
  3. i и j - это индексы, которые используются для прохода по всем элементам матрицы.
  4. summ - это переменная, которая используется для хранения суммы элементов строки.
  5. b - это вектор (массив), который будет содержать в себе средние арифметические элементов строк матрицы.
  6. Код считывает из консоли количество строк и столбцов матрицы.
  7. Затем он выделяет память под матрицу и вектор.
  8. После этого он заполняет матрицу случайными числами от 0 до 9.
  9. Затем он проходит по всем строкам матрицы, суммируя их элементы и сохраняя сумму в переменной summ.
  10. Затем он вычисляет среднее арифметическое суммы элементов строки и сохраняет его в соответствующем элементе вектора b.
  11. После прохода по всем строкам матрицы, код выводит на экран все элементы вектора b.
  12. Код завершается, когда нажимается клавиша. Код может быть оптимизирован, чтобы избежать утечек памяти, используя, например, функцию free() для освобождения памяти, выделенной под матрицу и вектор после их использования.

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

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