Другие языки программирования и технологии

Помогите с матрицей в C++,заранее спасибо.

Помогите с матрицей в C++,заранее спасибо.
Помолитесь, чтобы у меня по Дифференциальным уравнениям в ведомости за экзамен уже стояла оценка отлично на текущий момент.

#include <iostream>
#include <windows.h>
#include <ctime>
#include <algorithm>
#include <iomanip>

using namespace std;

bool uneven(const int &);

size_t count_uneven_in_string(int *);

void show(int **);

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(NULL));
system("color 0A");

cout << "Введите размеры матрицы ";
size_t n, m;
cin >> n >> m;
auto **a = new int*[n];
for (size_t count = 0u; count < n; ++count)
a[count] = new int[m + 1];

auto get_num = []()
{
return rand() % 101;
};
auto get_string = [a, n, m, get_num]()
{
auto str = new int[m];
generate(str, str + m, get_num);
return str;
};
generate(a, a + n, get_string);
for (size_t u = 0u; u < n; ++u)
{
a[u][m] = 0;
}
cout << "Исходная матрица" << endl;
show(a);

size_t ind = 0u;
auto f = [&a, &ind, m](int *t)
{
a[ind++][m] = count_uneven_in_string(t);
};
for_each(a, a + n, f);
auto predicate = [m](int *t1, int *t2)
{
return t1[m] < t2[m];
};
sort(a, a + n, predicate);
cout << "Обработанная матрица" << endl;
show(a);

system("pause");
return 0;
}

bool uneven(const int &k)
{
return k & 1u;
}

size_t count_uneven_in_string(int *a)
{
size_t len = _msize(a) / sizeof(a);
size_t cnt = 0u;
for (size_t u = 0u; u < len; ++u)
{
cnt += uneven(a[u]);
}
return cnt;
}

void show(int **a)
{
auto n = _msize(a) / sizeof(a);
auto m = _msize(a[0u]) / sizeof(a[0u]);
for (size_t u = 0u; u < n; ++u)
{
for (size_t p = 0u; p < m; ++p)
{
cout << setw(4u) << a[u][p];
}
cout << endl;
}
cout << endl;
}
Ибрагим Тагиров
Ибрагим Тагиров
8 552
Лучший ответ