C/C++

Пожалуйста, помогите с C++

Дана матрица размером N. Найти сумму элементов ее нечетных строк.
#include <algorithm>
#include <iostream>
#include <random>
#include <numeric>
using namespace std;
int main() {
cout << "N: ";
size_t n;
cin >> n;
puts("");
auto matrix = new int* [n];
for (auto i = 0U; i < n; ++i) {
matrix[i] = new int[n];
}
uniform_int_distribution<> uid(1, 9);
mt19937 gen{ random_device()() };
auto rand = [&] { return uid(gen); };
auto print = [](int x) { cout << x << ' '; };
for (auto i = 0U; i < n; ++i) {
generate(matrix[i], matrix[i] + n, rand);
}
for (auto i = 0U; i < n; ++i) {
for_each(matrix[i], matrix[i] + n, print);
puts("");
}
system("chcp 1251 > nul");
auto sum = 0;
cout << "\nДля нечётных индексов строк:";
for (auto i = 1U; i < n; i += 2) {
sum = accumulate(matrix[i], matrix[i] + n, 0);
cout << ' ' << sum;
}
sum = 0;
cout << "\nДля нечётных номеров строк:";
for (auto i = 0U; i < n; i += 2) {
sum = accumulate(matrix[i], matrix[i] + n, 0);
cout << ' ' << sum;
}
puts("");
system("pause > nul");
}
Иван Кацко
Иван Кацко
95 254
Лучший ответ
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
int main()
{
int i,j,N,Sum;
/*размерность матрицы: */
printf("\nmatrix dimension = ");
scanf("%d",&N);
int **A = (int**)malloc(N * sizeof(int*));

for (i = 0; i < N; i++)
A[i] = (int*)malloc(N * sizeof(int));

if(*A&&A)
{//*A&&A
/* заполнение матриц случайными знпчениями: */
srand(time(NULL));
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
A[i][j] = rand()%10;

/*вывод результата: */
printf("\nMatrix A:\n");
for (i = 0; i < N; i++)
{
Sum=0;
for (j = 0; j < N; j++)
{
printf("%d ",A[i][j]);
if((i+1)%2==0) Sum+=A[i][j];
else Sum=-1;
}
if(Sum!=-1)
printf(" Sum=%d",Sum);
printf("\n");
}
}//*A&&A
for (i = 0; i < N; i++)
free(A[i]);
free(A);
sleep(10);
return 0;
}
ИН
Иван Ник
37 945
Иван Ник if((i+1)%2==0) Sum+=A[i][j]; исправить на:
if((i+1)%2!=0) Sum+=A[i][j];