Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 15.05.2017
Сообщений: 93
1

Для каждой строки матрицы найти максимальный элемент и записать их в одномерный массив

16.01.2018, 20:58. Просмотров 658. Ответов 4
Метки нет (Все метки)


Все привет, ребят, помогите с программой пожалуйста.. Вот задание:
Для каждой строки матрицы найти максимальный элемент и записать их в одномерный массив, после чего в этом одномерном массиве найти минимальный элемент. Числа произвольные.
Спасибо заранее
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2018, 20:58
Ответы с готовыми решениями:

Для каждой строки матрицы найти максимальный элемент и записать их в одномерный массив
помогите пожалуйста. Pascal. задание: для каждой строки матрицы найти максимальный элемент и...

Для каждой строки матрицы найти максимальный элемент и записать их в одномерный массив
Помогите, очень нужна помощь. Завтра последний день, когда можно сдать:( Задание: Для каждой...

Для каждой строки матрицы найти последний четный элемент и записать данные в новый массив
Дан массив размером n*n , элементы которого целые числа . Для каждой строки найти последний четный...

Записать элементы матрицы по столбцам в одномерный массив и найти его максимальный элемент
записать элементы матрицы по столбцам в одномерный массив и найти его максимальный элемент и что...

4
98 / 97 / 11
Регистрация: 12.09.2016
Сообщений: 194
16.01.2018, 21:16 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
37
38
#include <iostream>
using namespace std;
int main()
{
    
    int n, m; // n-строки,m-столбики
    cin >> n >> m;
    int max;
    int min=999999;
    // создание матрицы
    int **str = new int*[n];
    for (int i = 0;i < n;i++)  str[i] = new int[m];
    for (int i = 0;i < n;i++) // заполнение массива
    {
        for (int z = 0;z < m;z++)
            cin >> str[i][z];
    }
    int *minarr = new int[n]; // массив с максимальными числами в строке матрицы
    // перебор
    for (int i = 0;i < n;i++)
    {
        max= -9999999;
        for (int z = 0;z < m;z++)
        {
            if (str[i][z] > max) max = str[i][z]; // нахождение максимального
 
        }
        minarr[i] = max; // заполнение одномерного массива
    }
    for (int i = 0;i < n;i++)
    {
        if (minarr[i] < min) min = minarr[i];
    }
    
    cout << min << endl;
    system("pause");
    return 0;
}
1
1742 / 1335 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
16.01.2018, 23:01 3
Вместо
Цитата Сообщение от "Gaveyn;12036851"=22
C++
1
max= -9999999;
лучше будет
C++
1
2
max = a[i][0];
for (int z = 1; z < m; z++)
для 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
#include "stdafx.h"
#include <iostream> 
#include <vector>
#include <algorithm>
#include <random>
#include <iterator>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    random_device r;
    mt19937 gen(r());
    uniform_int_distribution<> dist(-10, 10);
    int n, m, min = dist.max(); cout << "N, M = "; cin >> n >> m;
    cout << "Матрица:\n";
    vector<int> vec;
    int **a = new int*[n];
    for (int i = 0; i < n; i++) {
        a[i] = new int[m];
        int max = dist.min();
        for (int j = 0; j < m; j++) {
            a[i][j] = dist(gen); cout << a[i][j] << "\t";
            if (max < a[i][j]) max = a[i][j];
        }
        vec.push_back(max);
        if (vec[i] < min) min = vec[i];
        cout << "\n";
    }
    cout << "Массив: ";
    copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));
    cout << "\nМинимум: " << min << "\n";
    for (int i = 0; i < n; i++)
        delete[] a[i];
    delete[] a;
}
1
1714 / 605 / 187
Регистрация: 12.03.2016
Сообщений: 2,188
16.01.2018, 23:41 4
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <random>
 
int main() {
 
    size_t rows, cols;
 
    std::cout << " Input rows = ";
    std::cin >> rows;
    std::cout << " input cols = ";
    std::cin >> cols;
 
    std::vector <std::vector<int>> vec(rows, std::vector<int>(cols));
    std::vector <int> vec_max;
 
    std::default_random_engine gen{ std::random_device()() };
    std::uniform_int_distribution<> dist(-20, 20);
 
    for (auto &l : vec) {
        std::generate(begin(l), end(l), [&dist, &gen] { return dist(gen); });
        std::copy(cbegin(l), cend(l), std::ostream_iterator <int>(std::cout, "\t"));
        std::cout << '\n';
        vec_max.push_back(*std::max_element(cbegin(l), cend(l)));
    }
 
    std::copy(cbegin(vec_max), cend(vec_max), std::ostream_iterator <int>(std::cout, "   "));
    std::cout << '\n' << *std::min_element(cbegin(vec_max), cend(vec_max));
 
    system("pause");
}
0
98 / 97 / 11
Регистрация: 12.09.2016
Сообщений: 194
17.01.2018, 01:28 5
Цитата Сообщение от Hitoku Посмотреть сообщение
лучше будет

max = a[i][0];
for (int z = 1; z < m; z++)
Спасибо,учту в следующий раз)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2018, 01:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Записать элементы матрицы по столбцам в одномерный массив и найти его максимальный элемент
Помогите, пожалуйста, решить задачку!буду оч благодарна! Условие:Записать элементы матрицы по...

Найти в каждой строке матрицы наибольший элемент и записать его в одномерный массив
Здравствуйте! Если не трудно, не могли бы вы мне немного помочь. Условие задачи такое: //Написать...

Найти максимальный элемент в каждой строке матрицы и записать данные в новый массив
Найти максимальный элемент в каждой строке и записать данные в новый массив. через рандом нужно

Найти наибольшие элементы каждой строки матрицы и записать их в одномерный массив Y
Найти наибольшие элементы каждой строки матрицы и записать их в одномерный массив Y. P.S. В...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.