С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Функция для нахождение минимального значения каждого столбца в двумерном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти произведение элементов главной диагонали матрицы http://www.cyberforum.ru/cpp-beginners/thread1304126.html
Дана матрица А(4,4), задать из файла. Найти произведение элементов среди элементов расположенных на главной диагонали матрицы А. Найти минимальный элемент в 3-ей строке матрицы. Поменять местами...
C++ Замена мест минимальных элементов Постройте микропрограмнный аппарат,который выполняет превращение элементов массивов , A(n) і B(n) таким образом: меняет минимальные элементы местами. http://www.cyberforum.ru/cpp-beginners/thread1304110.html
C++ Определить процедуру, позволяющую распознавать полные квадраты
Дано натуральное число n. Среди чисел 1,2,...,n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел. (Определить процедуру, позволяющую распознавать полные квадраты).
Вычислить значения новой последовательности C++
Даны действительные числа a1,…,a10 и натуральное число m. Последовательность b1,b2... бразуются по закону b1=a1,...b10=a10 bk=bk-1+bk-2+…+bk-10, k=11,12,… Получить bm
C++ Цикл, вычисление среднего роста http://www.cyberforum.ru/cpp-beginners/thread1304072.html
Всем Привет! Мое задание: Задано n количество студентов. Нужно узнать средний рост. В Общем мне нужно составить так код, что бы я ввел, к примеру, число 5. И когда ввожу рост, что бы количество раз...
C++ Как добавить "K" столбцов перед столбцом с наибольшим количеством отрицательных элементов? добавить "K" столбцов перед столбцом с найбольшим количеством отрицательных элементов Правильно ли осуществлен поиск столбца с найбольшим количеством отрицательных элементов? int g,max=0; ... подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1972 / 1465 / 122
Регистрация: 29.05.2011
Сообщений: 3,033
19.11.2014, 01:38
Ну раз сделал, то мог бы и показать. Мало ли
Например в строке 34 наверняка индексы перепутаны. Там инициализация производится первой колонкой, а надо бы первой строкой. А если строк будет больше чем колонок, то произойдёт выход за границы массива.

Ну а что касается вопроса, то вариантов может быть много. Вот, например два из них:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void min_in_columns1(int arr[ROW][COLUMN], int min_elements[COLUMN])
{
    int m;
    for (m = 0; m < COLUMN; ++m)
    {
        int n;
        min_elements[m] = arr[0][m];
        for (n = 1; n < ROW; ++n)
        {
            if (arr[n][m] < min_elements[m])
            {
                min_elements[m] = arr[n][m];
            }
        }
    }
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void min_in_columns2(int* arr, int* min_elements, int r, int c)
{
    int m;
    for (m = 0; m < c; ++m)
    {
        int n;
        min_elements[m] = arr[0*c + m];
        for (n = 1; n < r; ++n)
        {
            if (arr[n*c + m] < min_elements[m])
            {
                min_elements[m] = arr[n*c + m];
            }
        }
    }
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.