Как вывести числа строки массива до определенного числа? С++
Допустим у нас есть двумерный динамический массив с размерностью 7x7. Значения элементов массива задаются рандомно. Далее мы нашли максимальное число в каждой строке и нам надо вывести на экран все числа, которые находятся перед максимальным значением каждой строки массива. Я не понимаю, как это реализовать. Надеюсь, понятно объяснил.
Код:
int x = 7;
int y = 7;
int **arr = new int*[x];
for (int i = 0; i < x; i++)
{
*(arr + i) = new int[y];
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
arr[i][j] = rand() % 201 - 100;
}
}
//Здесь мы находим максимальное число в каждой строке//
int nextv;
int A = -100;
int max = A - 1;
for (int i = 0; i < x; i++)
{
max = A - 1;
for (int j = 0; j < y; j++)
{
if (max < (nextv = arr[i][j]))
{
max = nextv;
}
}
cout << "Максимальное число в " << i << " строке = " << max << endl;
cout << endl;
}
Ответы (1 шт):
Автор решения: EOF
→ Ссылка
int max_index;
for (int row = 0; row < x; row++)
{
max_index = 0;
for (int col = 1; col < y; col++)
{
if (arr[row][col] > arr[row][max_index])
max_index = col;
}
for (int col = 0; col < max_index; col++)
{
cout << arr[row][col] << '\t';
}
cout << endl;
}