#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int j,N,M;
int *A;
int counter = 0;
int *B;
cout << "Enter N\n";
cin >> N;
cout << "Enter M\n";
cin >> M;
try
{
// Выделяем память под массив *A
A = new int[N*M];
counter = 0;
for(int i = 0; i < N; i++)
for(int j = 0; j < M; j++)
{
cin >> A[j*M + i];
if(A[j*M + i] < 0) counter++;
}
// Выделяем память под массив B
B = new int[counter];
// Заполняем массив B
counter = 0;
for(int i = 0; i < N; i++)
for(int j = 0; j < M; j++)
{
if(A[j*M + i] < 0)
{
B[counter] = A[j*M + i];
counter++;
}
}
// Сортируем массив В
int tmp;
for(int i = 0; i < counter; i++)
for(int j = 0; j < counter-1; j++)
{
if(B[j]>B[j+1])
{
tmp = B[j];
B[j] = B[j+1];
B[j+1] = tmp;
}
}
// Выводим массив B
for(int i = 0; i < counter; i++)
{
cout << B[i] << ' ';
}
// Освобождаем память
delete [] A;
delete [] B;
}
catch(bad_alloc exp)
{
cout << "Не удалось выделить память\n";
return 1;
}
return 0;
} |