C/C++

Помогите решить задачу на языке программирования С++

Дан массив размером n•n, элементы которого —целые числа.

Для каждой строки найти номер первого отрицательного элемента и записать данные в новый массив.

P.s. если есть возможность напишите пожалуйста программу простыми операторами, ибо я только начиная программировать и сложные не очень понятны
#include <iostream>
#include <cmath>
#include <ctime>
#include <cstdlib>

using namespace std;

int main()
{
const int n = 5;
int old_data[n][n]; // изначальный массив
int new_data[n]; // новый массив
// Как формируется старый массив?
// Я делаю автоматически с помощью "случайных" чисел.
srand(time(NULL)); // чтобы цифры были более случайными.
for(int x = 0; x < n; x++)
{
for(int y = 0; y < n; y++)
{
old_data[x][y] = rand() % 21 * pow(-1.0, rand() % 2);
// показываем, что получилось.
cout << old_data[x][y] << ' ';
}
cout << endl;
}
cout << endl;
// теперь ищем первый отрицательный в каждой строке
int z = 0; // для нового массива
for(int x = 0; x < n; x++)
{
for(int y = 0; y < n; y++)
{
if(old_data[x][y] < 0)
{
new_data[z++] = old_data[x][y];
// переход на новую строку
y = -1;
x++;
if(x >= n) break;
}
}
}
// печатаем, что получилось.
for(int x = 0; x < z; x++)
{
cout << new_data[x] << ' ';
}
cout << endl;

return 0;
}
МН
Максим Николаевич
95 258
Лучший ответ
Максим Николаевич rand() -- генерирует числа (они больше или равны нулю)
pow() -- возводит число в степень.
В нашем примере она возводит -1 в степень, чтобы числа были, либо положительными, либо отрицательными, либо равными нулю.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
const int N = 5;
int A[N][N]; srand(time(0));
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
{
A[i][j] = -5 + rand() % 11;
cout.width(3);
cout << A[i][j];
}
cout << endl;
}

int B[N] = {-1};
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(A[i][j] < 0)
{
B[i] = j;
break;
}

for(int i = 0; i < N; i++)
cout << B[i] << ' ';
cout << endl;

cout << "Press Enter key for continue...";
cin.get(); //cin.get();
return 0;
}