Обчислити вектор середньоарифметичних парних елеменів кожного рядка матриці на с++
Ответы
#include <iostream>
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++){
cin >> arr[i][j];
}
}
}
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(){
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;
}
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m; // Вводимо розміри матриці.
vector<vector<int>> matrix(n, vector<int>(m)); // Створюємо двовимірний вектор.
for (int i = 0; i < n; i++) { // Заповнюємо матрицю.
for (int j = 0; j < m; j++) {
cin >> matrix[i][j];
}
}
vector<double> res(n); // Створюємо вектор, який буде містити середньоарифметичну суму.
for (int i = 0; i < n; i++) { // Обчислення середньоарифметичного.
double sum = 0; // Заводимо змінну, яка буде мiстiti суму.
for (int j = 0; j < m - 1; j += 2) { // +2 - якби +1, то "пропускала" 1-й елемент.
sum += matrix[i][j] + matrix[i][j + 1]; // Cумування 2-x (0-1, 2-3...) елемeнтiв.
if (j == m - 2 && m % 2 != 0) { // Jaкbi ostatok z divizii != 0, to "дoдaвaлa" ostatok.
sum += matrix[i][m - 1];
}
}
res[i] = sum / (m / 2 + m % 2); // Cepxodno divizii na 2 + ostatok z divizii != 0.
}
for (auto x : res) cout << x << " "; // Wyvod rezultatu.
return 0;
}