Вычислить вектор среднеарифметических парных элементов каждой строки целочисленной матрицы 5x4 на с++ при помощи функции, пожалуйста помогите, ума не приложу, что делать нужно


nazikmuz: Вы код сами написать сможете?
asilvejstruk: если мог бы, то не постил бы сюда данную просьбу
asilvejstruk: остальные задачи, я ещё смог решить
nazikmuz: Ну если я вам скажу что надо делать,Код то вы напишете?
nazikmuz: Ладно,Сейчас напишу

Ответы

Ответ дал: nazikmuz
1

Вектор это по сути одномерный массив

Что вам нужно сделать?

Пробегаете каждую строку массива (матрицы) и парные елементы суммируете в какую нибудь переменную и записываете в новый одномерный массив sum/2

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

void randarr(int **arr,int n,int m){

for(int i = 0; i < n; i++){

 for(int j = 0; j < m; j++){

  arr[i][j] = rand() % 10 + 1;

 }

}

}

void printarr(int **arr , int n, int m){

for(int i = 0; i < n; i++){

 for(int j = 0; j < m; j++){

  cout << arr[i][j] << "\t";

 }

 cout << endl;

}

}

void expression(int **arr,int n, int m){

int sum = 0;

float vector[5];

for(int i = 0;i < n; i++){

 sum = 0;

 for(int j = 0; j < m; j++){

  if(j % 2 != 0){

   sum += arr[i][j];

  }

  vector[i] = sum/2.;

 }

}

for(int k = 0; k < 5; k++){

 cout << vector[k] << " ";

}

}              

int main(){

srand(time(NULL));

setlocale(LC_ALL , "Rus");

int n = 5, m = 4;

int **arr = new int *[n];

for (int i = 0; i < n; i++)

       arr[i]=new int[m];

   

randarr(arr,n,m);

printarr(arr,n,m);

cout << "Вектор среднеарифметических парных елементов: ";

expression(arr,n,m);

       

for (int i = 0; i < n; i++)

    delete[]arr[i];

   delete[]arr;

return 0;

}

Пояснення:


asilvejstruk: Это я итак знаю, мне надо решения, а не теория
nazikmuz: Сейчас напишу и редактирую ответ
nazikmuz: Редактировал
nazikmuz: У нас массив при каждом запуске разный,этот код берёт парный елемент каждой строки,добавляет его в переменную sum и при конце строки массива присваивает к массиву вектору sum деленную на 2
asilvejstruk: Благодарю, только мне нужен пользовательский ввод матрици
asilvejstruk: Ну ладно это уже я сам сделаю
nazikmuz: Переделать?
asilvejstruk: Да нет, я уже немного изменил
nazikmuz: Не забывайте что вектор должен быть типа вещественных чисел,потому что среднее арифметическое не обязательно будет целым
asilvejstruk: Это да
Вас заинтересует