Вопрос задан 14.11.2023 в 15:31. Предмет Информатика. Спрашивает Щерба Никита.

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

с++ при помощи функции, пожалуйста помогите, ума не приложу, что делать нужно
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Дорошенко Вероника.

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

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

Пробегаете каждую строку массива (матрицы) и парные елементы суммируете в какую нибудь переменную и записываете в новый одномерный массив 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;

}

Пояснення:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для вычисления вектора среднеарифметических парных элементов каждой строки целочисленной матрицы 5x4 в языке программирования C++ можно использовать следующую функцию:

```cpp #include #include

std::vector calculateRowAverages(int matrix[5][4]) { std::vector rowAverages; for (int i = 0; i < 5; i++) { int sum = 0; int count = 0; for (int j = 0; j < 4; j++) { if (matrix[i][j] % 2 == 0) { sum += matrix[i][j]; count++; } } if (count > 0) { int average = sum / count; rowAverages.push_back(average); } } return rowAverages; }

int main() { int matrix[5][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}, {17, 18, 19, 20} }; std::vector rowAverages = calculateRowAverages(matrix); std::cout << "Vector of row averages: "; for (int i = 0; i < rowAverages.size(); i++) { std::cout << rowAverages[i] << " "; } return 0; } ```

В данном примере используется двумерный массив `matrix`, представляющий целочисленную матрицу 5x4. Функция `calculateRowAverages` вычисляет среднеарифметические парные элементы каждой строки матрицы и сохраняет их в вектор `rowAverages`. Затем, в функции `main`, выводится вектор `rowAverages`.

Пожалуйста, обратите внимание, что в данном примере предполагается, что вектор среднеарифметических парных элементов каждой строки будет содержать только целые числа. Если вам нужно работать с числами с плавающей запятой, вам нужно будет изменить тип данных вектора и в функции `calculateRowAverages`.

Надеюсь, это поможет вам решить вашу задачу! Если у вас возникнут дополнительные вопросы, пожалуйста, дайте мне знать.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для вычисления вектора среднеарифметических парных элементов каждой строки целочисленной матрицы 5x4 в языке программирования C++ можно использовать следующую функцию:

```cpp #include #include

std::vector calculateRowAverages(int matrix[5][4]) { std::vector rowAverages;

for (int i = 0; i < 5; i++) { int sum = 0; int count = 0;

for (int j = 0; j < 4; j++) { if (matrix[i][j] % 2 == 0) { sum += matrix[i][j]; count++; } }

if (count > 0) { int average = sum / count; rowAverages.push_back(average); } }

return rowAverages; }

int main() { int matrix[5][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}, {17, 18, 19, 20} };

std::vector rowAverages = calculateRowAverages(matrix);

std::cout << "Vector of row averages: "; for (int i = 0; i < rowAverages.size(); i++) { std::cout << rowAverages[i] << " "; } std::cout << std::endl;

return 0; } ```

В этом примере используется функция `calculateRowAverages`, которая принимает целочисленную матрицу размером 5x4 в качестве параметра и возвращает вектор среднеарифметических парных элементов каждой строки. Внутри функции происходит итерация по каждой строке матрицы. Для каждой строки вычисляется сумма и количество парных элементов. Если количество парных элементов больше 0, то вычисляется среднее арифметическое и добавляется в вектор `rowAverages`. В конце программы выводится вектор среднеарифметических парных элементов каждой строки.

Примечание: В приведенном примере используется матрица размером 5x4 со случайными значениями. Вы можете изменить значения или размер матрицы в соответствии с вашими потребностями.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос