Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для admokep
0 / 0 / 0
Регистрация: 02.12.2014
Сообщений: 45

Замена нахождения min среди двумерного массива, на нахождение min в каждой строке

25.12.2014, 07:21. Показов 1449. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста изменить программу так чтобы вместо того чтобы находился min среди двумерного массива целых чисел, находился min в каждой строке двумерного массива целых чисел
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <cstddef>
#include <ctime>
#include <cstdlib>
#include <conio.h>
int min_elem(int* array2d, size_t m, size_t n)
{
    size_t len = m * n;
    int min = array2d[0];
    for(size_t i = 1; i < len; ++i)
        if(array2d[i] < min) min = array2d[i];
    return min;
}
int main()
{
    std::srand(std::time(NULL));
 
    int m1,n1;
    std::cin>>m1>>n1;
    int ** a;
    a = new int*[m1];
    for(int i=0;i<m1;i++)
        a[i] = new int [n1];
 
    std::cout << "array(" << m1 << "x" << n1 << "):\n";
    for(size_t i = 0; i < m1; ++i)
    {
        for(size_t j = 0; j < n1; ++j)
        {
            a[i][j] = std::rand() % 100;
            std::cout.width(4);
            std::cout << a[i][j];
        }
        std::cout << "\n";
    }
    std::cout << "min: " << min_elem(&a[0][0], n1, m1) << "\n";
 
    std::cout << "----------------------\n";
 
    int m2,n2;
    std::cin>>m2>>n2;
    int ** b;
    b = new int*[m2];
    for(int i=0;i<m2;i++)
        b[i] = new int [n2];
 
    std::cout << "array(" << m2 << "x" << n2 << "):\n";
    for(size_t i = 0; i < m2; ++i)
    {
        for(size_t j = 0; j < n2; ++j)
        {
            b[i][j] = std::rand() % 100;
            std::cout.width(4);
            std::cout << b[i][j];
        }
        std::cout << "\n";
    }
    std::cout << "min: " << min_elem(&b[0][0], m2, n2) << "\n";
    getch();
    for(int i=0;i<m1;i++)
        delete [] a[i];
    delete [] a;
 
    for(int i=0;i<m2;i++)
        delete [] b[i];
    delete [] b; }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.12.2014, 07:21
Ответы с готовыми решениями:

Поменять нахождение min среди двумерного массива, на нахождение min в каждой сточке
Поменять нахождение min среди двумерного массива, на нахождение min в каждой сточке #include &lt;iostream&gt; #include &lt;cstddef&gt; ...

Написать функцию нахождения MIN среди двумерного массива целых чисел.
Привет всем, я в програмировании ни чего не смыслю поэтому обращаюсь к вам, помогите составить программу, желательно для Visual studio...

Написать функцию нахождения MIN среди двумерного массива целых чисел
Задание: Написать функцию нахождения MIN среди двумерного массива целых чисел. Обработать два массива разной длины. Вот у меня есть такая...

3
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,243
25.12.2014, 08:22
Лучший ответ Сообщение было отмечено admokep как решение

Решение

Почему Вы считаете, что строки динамического массива расположены последовательно
друг за другом? Возможны случаи, что одновременно с Вашей программой работает какая-то другая
и тоже выделяет память. В результате i-я и i+1-я строка могут оказаться не рядом.
Исправляю Вашу функцию
C++
1
2
3
4
5
6
7
8
int min_elem(int** array2d, size_t m, size_t n)
{
    int min = array2d[0][0];
    for(size_t i = 0; i < m; ++i)
    for(size_t j = 0; j <n; ++j)
        if(array2d[i][j] < min) min = array2d[i][j];
    return min;
}
А это нахождение минимума в строке string_number
C++
1
2
3
4
5
6
7
int min_elem_in_string(int** array2d, size_t m, size_t n,int string_number)
{
     int min = array2d[string_number][0];
    for(size_t i = 1; i < m; ++i)
        if(array2d[string_number][i] < min) min = array2d[string_number][i];
    return min;
}
1
 Аватар для admokep
0 / 0 / 0
Регистрация: 02.12.2014
Сообщений: 45
28.12.2014, 14:09  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
А это нахождение минимума в строке string_number
Помогите пож-та с этой проблемой, (после замены) [C++ Error] Unit1.cpp(35): E2268 Call to undefined function 'min_elem'
эта строчка горит красной
C++
1
std::cout << "min: " << min_elem(&a[0][0], n1, m1) << "\n";
у самого не выходит =(
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,243
28.12.2014, 14:38
C++
1
2
3
4
for(int i=0;i<n1;i++)
{
   cout<<i<<' '<<min_elem_in_string(a,n1,m1,i)<<endl;;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2014, 14:38
Помогаю со студенческими работами здесь

Нахождение Max и Min в строке двумерного массива
что то вообще не чего не получается. как передать в функцию массив построчно?как найти мин-мах? как перезаписать элемент? #include...

В каждой строке двумерного массива min элемент
Дана матрица размера M&lt;=N. В каждой строке матрицы найти минимальный элемент. Нужен только алгоритм.

написать программу нахождения максимольного среди min(a,b) и min(c,d). Не используя function
В задаче нужно найти max{min(a,b),min(c,d)}. Не пойму как нужно прописать в программе эти условия,помогите пожалуйста! :cry:

Программа нахождения максимального элемента из (min1, ., min n), где min - минимальный в i-той строке
Дана матрица А(nxn). Написать программу нахождения максимального элемента из (min1, ..., min n), где min i - минимальный в i-той строке ...

Найти min элемент одномерного массива описав процедуры ввода элементов массива, процедура нахождения min элемента массива.
Можете глянуть две задачки на pascale ? 1)Определить сумму элементов, массива целых чисел размерностью 15, элементов с 1 по 12 и с 8 по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru