Форум программистов, компьютерный форум CyberForum.ru

Найти минимальные элементы в каждой строке матрицы и номер максимального из них - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
02.08.2010, 17:53     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #1
Здравствуйте! Задание такое: Найти минимальный элемент в каждой строке матрицы и номер максимального из них. Дело в том, что только начал учить массивы.. С одномерными вроде разобрался, теперь задачи идут с двумерными, тут чуть посложнее. Перерыл гугл и несколько своих электронных книг - там задания самые элементарные. Теперь по поводу темы.. Алгоритм нахождения минимального элемента всей матрицы должен быть такой:
1. Задается матрица размером m*n элементов (если это слишком сложно для кого то, то пусть будет к примеру 4х4)
2. Идет прохождение массива for (int i = 1; i < n; i++)
3. Если значение элемента массива меньше min присваиваем значение mas[m] [n];
4. Выводит на экран значения.
А вот как найти минимальный в каждой строке и так далее к сожалению пока не знаю Если у кого то вдруг есть выложите пожалуйста код без обьяснений и всего прочего - разберусь я сам! Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2010, 17:53     Найти минимальные элементы в каждой строке матрицы и номер максимального из них
Посмотрите здесь:

Найти в каждой строке матрицы максимальный и минимальный элементы C++
C++ В каждой строке матрицы найти и вывести минимальный элемент и его номер в строке
C++ Найти минимальные елементы в каждой строке прямоугольной матрицы натуральных чисел
Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом C++
C++ Вывести минимальные элементы каждой диагонали матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
02.08.2010, 19:05     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #2
тоже еще не асс в матрице..но вот мой код, но выводит наискосок, укажите ошибку, пожалуйста
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    const int size = 4;
    int matrix[size][size];
    int jMin = 0, j, i;
    srand ((unsigned) time(NULL));
    for(int i = 0; i < size; i++)
    {
        for(int j = 0; j < size; j++)
            matrix[i][j] = rand();
    }
    for(i = 0; i < size; i++)
    {
        if(matrix[i] < matrix[jMin])
        {
            jMin = i;
            cout << endl << jMin << endl;
        }
        for(j = 0; j < size; j++)
        {
            cout << matrix[i][j] << "\t";
            if(matrix[i][j] < matrix[i][jMin])
            {
                jMin = i;
            }
        }
        cout << matrix[i][jMin] << endl;
        cout << endl;
    }
    system("PAUSE");
    return 0;
}
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
02.08.2010, 19:27  [ТС]     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #3
Тут в вашем коде честно говоря при выполнении программы не могу понять что к чему.. Если правильно понимаю то значения вы ввели данные в свою какую то определенную библиотеку а потом подключили ее то ли так то ли...
Код
#include <cstdlib>
#include <ctime>
(если написал это как то по корявому сори, просто слышал о чем то подобном) А на самом деле там элементы матрицы(массива) вводятся с клавиатуры...
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
02.08.2010, 19:31     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #4
ничего не подключал...значения вводятся рандомом, просто для примера, и неправильно прочел задание, так что рассчитано на поиск максимального элемента в каждой строке...но где то ошибся
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
02.08.2010, 19:46     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #5
Если я правильно понял, то нужно было в каждой строке найти минимальный элемент, а потом из них максимальный. По этому заданию:

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
#include <iostream>
#include <ctime>
#include <algorithm>
#include <iterator>
 
int rnd ()
{
    return rand()%50;
}
 
int main (void)
{
    const size_t ROW=4;
    const size_t COLUMN=4;
    int MAS[ROW][COLUMN];
    int MAS_REZ[ROW];
    // fill and output
    srand (time (NULL));
    std::cout << "Start matrix:\n";
    for (size_t i=0; i<ROW; i++) {
        std::generate_n (MAS[i], COLUMN, rnd);
        std::copy (MAS[i], MAS[i]+COLUMN, std::ostream_iterator <int> (std::cout, " "));
        std::cout << std::endl; }
    std::cout << std::endl;
    ///////////////////
    for (size_t i=0; i<ROW; i++)
        MAS_REZ[i]=*std::min_element (MAS[i], MAS[i]+COLUMN);
    ///////////////////
    int REZULT=*std::max_element (MAS_REZ, MAS_REZ+ROW);
    ///////////////////
    std::cout << "REZULT: " << REZULT;
    std::cout << std::endl;
 
    return 0;
}
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
02.08.2010, 19:47     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #6
neske, а без итератора и алгоритма можно?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
02.08.2010, 19:53     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #7
Можно:

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
#include <iostream>
#include <ctime>
 
int main (void)
{
    const size_t ROW=4;
    const size_t COLUMN=4;
    int MAS[ROW][COLUMN];
    int MAS_REZ[ROW];
 
    // fill and output
    srand (time (NULL));
    std::cout << "Start matrix:\n";
    for (size_t i=0; i<ROW; i++) {
        for (size_t j=0; j<COLUMN; j++) {
            MAS[i][j]=rand()%50;
            std::cout << MAS[i][j] << " "; }
        std::cout << std::endl; }
    std::cout << std::endl;
    ///////////////////
    
    size_t min;
 
    for (size_t i=0; i<ROW; i++) {
        min=MAS[i][0];
        for (size_t j=0; j<COLUMN; j++)
            if (MAS[i][j]<min) min=MAS[i][j];
        MAS_REZ[i]=min; }
    ///////////////////
    size_t REZULT=0;
 
    for (size_t i=0; i<ROW; i++)
        if (MAS_REZ[i]>REZULT) REZULT=MAS_REZ[i];
    ///////////////////
    std::cout << "REZULT: " << REZULT;
    std::cout << std::endl;
 
    return 0;
}
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
02.08.2010, 20:10     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #8
так гораздо лучше, спасиб)
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
02.08.2010, 20:21     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #9
Подумал, можно еще короче:

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
#include <iostream>
#include <ctime>
 
int main (void)
{
    const size_t ROW=4;
    const size_t COLUMN=4;
    int MAS[ROW][COLUMN];
 
    // fill and output
    srand (time (NULL));
    std::cout << "Start matrix:\n";
    for (size_t i=0; i<ROW; i++) {
        for (size_t j=0; j<COLUMN; j++) {
            MAS[i][j]=rand()%50;
            std::cout << MAS[i][j] << " "; }
        std::cout << std::endl; }
    std::cout << std::endl;
    ///////////////////
 
    size_t min;
    size_t REZULT=0;
    for (size_t i=0; i<ROW; i++) {
        min=MAS[i][0];
        for (size_t j=0; j<COLUMN; j++)
            if (MAS[i][j]<min) min=MAS[i][j];
        if (min>REZULT) REZULT=min; }
    ///////////////////
 
    std::cout << "REZULT: " << REZULT;
    std::cout << std::endl;
 
    return 0;
}
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
02.08.2010, 20:23     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #10
а можно вопрос...что за size_t и откуда взято
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
02.08.2010, 20:28     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #11
Беззнаковый целочисленный тип, аналог unsigned int.
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
02.08.2010, 20:29     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #12
спасибо, тогда вроде разобрался =))
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.08.2010, 20:30     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #13
Цитата Сообщение от RoY_Mu$T@nG Посмотреть сообщение
откуда взято
stddef.h
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2010, 20:37     Найти минимальные элементы в каждой строке матрицы и номер максимального из них
Еще ссылки по теме:

Сформировать массив С, в который войдут минимальные элементы каждой строки матрицы C++
C++ В каждой строке матрицы найти элемент с минимальным значением и его номер столбца

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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
02.08.2010, 20:37     Найти минимальные элементы в каждой строке матрицы и номер максимального из них #14
Цитата Сообщение от RoY_Mu$T@nG Посмотреть сообщение
а можно вопрос...что за size_t и откуда взято
Это псевдоним для беззнакового целого. Обычно применяется для представления размера или количества байт. Определен в <cstddef>.

Добавлено через 4 минуты
Опоздал
Yandex
Объявления
02.08.2010, 20:37     Найти минимальные элементы в каждой строке матрицы и номер максимального из них
Ответ Создать тему
Опции темы

Текущее время: 14:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru