Двумерный массив в С++, правильность кода
В заполненном случайно двумерном массиве a[n][m] замените его элементы вещественными числами, вычисляемыми по формуле a[j] = a[j] * arccos(i/(i + j)). Для каждого столбца найдите количество положительных и отрицательных элементов в нем. Элементы начального и полученного массивов вывести на экран.
Код:
#include <iostream>
#include <cmath>
using namespace std;
void Process1(double ** M, size_t n, size_t m)
{
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < m; ++j)
M[i][j] = acos((i + 1.0) / (i + 1.0 + j + 1.0));
}
}
int main(void)
{
size_t N = 10;
size_t M = 10;
double **Matrix = new double*[N];
for (int i = 0; i < N; ++i) {
Matrix[i] = new double[M];
}
Process1 (Matrix, N, M);
for (int i = 0; i < N; ++i) {
delete[] Matrix[i];
}
delete[] Matrix;
return 0;
}
#include <cmath>
using namespace std;
void Process1(double ** M, size_t n, size_t m)
{
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < m; ++j)
M[i][j] = acos((i + 1.0) / (i + 1.0 + j + 1.0));
}
}
int main(void)
{
size_t N = 10;
size_t M = 10;
double **Matrix = new double*[N];
for (int i = 0; i < N; ++i) {
Matrix[i] = new double[M];
}
Process1 (Matrix, N, M);
for (int i = 0; i < N; ++i) {
delete[] Matrix[i];
}
delete[] Matrix;
return 0;
}
Код:
сначала заполнить случайно
void Process0(double ** M, size_t n, size_t m)
{
// Используем текущее время как начальное значение для генератора случайных чисел
srand(unsigned(time(0)));
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < m; ++j)
M[i][j] = rand();
}
}
Process1()...
для каждого столбца:
int positive_count=0;
int negative_count=0;
void Process2(size_t n, size_t m)
{
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < m; ++j)
if (M[i][j] > 0) positive_count++ else negative_count++;
}
}
вывести на экран
Process3()...
{ for()...
printf(" %f", M[i][j);
...
void Process0(double ** M, size_t n, size_t m)
{
// Используем текущее время как начальное значение для генератора случайных чисел
srand(unsigned(time(0)));
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < m; ++j)
M[i][j] = rand();
}
}
Process1()...
для каждого столбца:
int positive_count=0;
int negative_count=0;
void Process2(size_t n, size_t m)
{
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < m; ++j)
if (M[i][j] > 0) positive_count++ else negative_count++;
}
}
вывести на экран
Process3()...
{ for()...
printf(" %f", M[i][j);
...