C/C++

Помогите пожалуйста составить правильную программу на C++ 12 вариант

#include < iostream >

using namespace std;
int main()
{
int row = 5, col = 5; //размеры массива
int** A = new int* [row]; //создание указателей на динамический массив
for (auto i = 0; i < row; i++)
A[i] = new int[col];

for (auto i = 0; i < row; i++) //заполнение массива
for (auto j = 0; j < col; j++) A[i][j] = rand() % 51;

for (auto i = 0; i < row; i++) { //контроль содержимого
for (auto j = 0; j < col; j++) cout << A[i][j] << "\t"; cout << endl;
}

for (int i = 0; i < row - 1; i++) // сортировка столбца 2
for (int j = i + 1; j < row; j++)
if (A[i][2] < A[j][2]) swap(A[i][2],A[j][2]);

cout << endl << "After: " << endl; // контроль содержимого
for (auto i = 0; i < row; i++) {
for (auto j = 0; j < col; j++) cout << A[i][j] << "\t"; cout << endl;
}

for (auto i = 0; i < row; i++) delete[] A[i]; // удаление выделенной памяти
delete[] A;
}
Алексей Стукач
Алексей Стукач
51 411
Лучший ответ
Саян Уразов а где проверка на невыделение памяти? Здесь уже обсуждался этот вопрос. Ищите
Алексей Стукач В задании не указано, что нужно проверять. А как это делается я знаю.
if (A == nullptr) {cout << "не хватает памяти"; return 1;} и тоже самое для всех A[i].
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <ctime>
using namespace std;
void print_matrix(int **a)
{
int i, j;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++) cout << setw(3) << a[i][j];
cout << endl;
}
cout << endl;
}
int main()
{
int i, j, k, **a = new int *[5];
for (i = 0; i < 5; i++) a[i] = new int [5];
srand(time(0));
for (i = 0; i < 5; i++) for (j = 0; j < 5; j++)
a[i][j] = rand() % 51;
print_matrix(a);
for (i = 1; i < 5; i++)
for (j = 4; j >= i; j--)
if (a[j - 1][1] < a[j][1])
{
k = a[j - 1][1];
a[j - 1][1] = a[j][1];
a[j][1] = k;
}
print_matrix(a);
for (i = 0; i < 5; i++) delete [] a[i];
}
Саян Уразов снова те же грабли. Где удаление уже занятой памяти при возникновении аварии ???Здесь уже былтакой правильный ответ ищите
Саян Уразов a[i] = new int [5]; if (a[i]==NULL) что делать будете? Даже Н. Веселуха совсем недавно написал код так, как нужно со всеми проверками и почему-то спорить со мной не стал. Почему? Читайте умные книги, как наших авторов, так и американских тем более, хотя бы в переводе ))