не выводит новый массив arr1, берет только первое значения матрицы и четыре раза его записывает в новый массив

Рейтинг: -3Ответов: 1Опубликовано: 24.01.2023
void f2(int** arr, int *arr1, int max ,int n, int m, int& k, int& l){
if (k > l)
{
    max = arr[0][0];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            if (max > arr[i][j])
            {
                max = arr[i][j];
            }
        }
        arr1[i] = max;
        cout << arr1[i] << endl;
    }
}
else
{
    cout << "net";
}

}

введите сюда описание изображения

Ответы

▲ 1
void f2(int** arr, int *arr1, int n, int m)
{
    int max;
    for (int i = 0; i < n; i++)
    {
        max = arr[i][0]; // max должен переприсваиваться в каждой строке, 
                         // чтобы искать максимум в строке, а не во всей матрице
        for (int j = 1; j < m; j++)
            if (max < arr[i][j]) // условие должно быть < , иначе ищется минимум
                max = arr[i][j];

        arr1[i] = max;
        cout << arr1[i] << endl;
    }
}