Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Алексейко112
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 49
1

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

04.06.2014, 19:20. Просмотров 516. Ответов 6
Метки нет (Все метки)

Составьте программу на языке С++, позволяющую находить среди строк заданной целочисленной матрицы D размера 4*4, компоненты которой не превышают 8, найти строку с максимальным произведением элементов(В ответе должна быть построена блок-схема).
0
Миниатюры
Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 19:20
Ответы с готовыми решениями:

Найти строку матрицы с максимальным произведением элементов
Среди всех строк массива X найти максимальную по произведению строку, в которой...

Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с максимальной суммой модулей элементов
#include <iostream> #include <conio.h> #include <cmath> const int m=3,n=3;...

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

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

Найти максимальный среди всех элементов тех строк заданной матрицы, которые упорядочены
Доброго времени суток, у меня есть задача ( практика,паскаль, процедуры ) так...

6
ElectroBot
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 10
25.07.2014, 12:44 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 "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h>
#include <windows.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    int D[4][4];
    int composition[]={1,1,1,1};        
    int max = 0;
    
    for(int h = 0; h < 4 ; h ++)
    {
        for(int v = 0; v < 4 ; v++)
        {
            int ch ;
            std::cin>>ch;
            D[h][v] = ch;
            composition[h]*= ch;
        }
    }
    
 
 
    for(int i = 0; i < 4 ; i ++)
    {
        if(composition[i]>max)  max=composition[i]; 
    }
 
    std::cout<<max;
        
    return 0;
}
0
lawr
372 / 266 / 478
Регистрация: 09.05.2014
Сообщений: 769
26.07.2014, 19:25 3
ElectroBot, нужно найти не значение максимального произведения, а строку.
0
ElectroBot
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 10
28.07.2014, 12:08 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
34
35
36
37
38
39
40
41
42
43
44
// NewProject.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h>
#include <windows.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    int D[4][4];
    int composition[]={1,1,1,1};        
    int max = 0;
    int position = 0;
    
    for(int h = 0; h < 4 ; h ++)
    {
        for(int v = 0; v < 4 ; v++)
        {
            int ch ;
            std::cin>>ch;
            D[h][v] = ch;
            composition[h]*= ch;
        }
    }
    
 
 
    for(int i = 0; i < 4 ; i ++)
    {
        if(composition[i]>max)  
        {
            max=composition[i];
            position = i;
        }
    }
 
    std::cout<<position+1;
        
    return 0;
}
0
GyroReaper
8 / 8 / 5
Регистрация: 20.10.2013
Сообщений: 49
28.07.2014, 12:53 5
В условии сказано, что нельзя вводить числа больше 8. Разве не так?
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5117 / 1555 / 950
Регистрация: 23.01.2011
Сообщений: 3,185
Завершенные тесты: 1
28.07.2014, 14:32 6
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
#include <algorithm>
#include <iterator>
#include <iostream>
#include <iomanip>
#include <random>
#include <array>
 
int main()
{
    const size_t matrixSize = 4;
 
    std::default_random_engine randomEngine;
    std::uniform_int_distribution <int> distribution(1, 8);
 
    int maximalMult = 1;
    size_t resultIndex = 0, currentIndex = 0;
 
    std::array <std::array <int, matrixSize>, matrixSize> matrix;
    std::cout << "Matrix: " << std::endl;
    for (auto &currentRow : matrix) {
        int currentMult = 1;
        for (auto &currentElement : currentRow) {
            std::cout << std::setw(4) << (currentElement = distribution(randomEngine));
            currentMult *= currentElement;
        }
        if (currentMult > maximalMult) {
            maximalMult = currentMult;
            resultIndex = currentIndex;
        }
        currentIndex++;
        std::cout << std::endl;
    }
    std::cout << "Maximal mult in row " << (resultIndex + 1) << ": " << (maximalMult) << std::endl;
 
    std::system("pause");
    return 0;
}
0
Trwsdf
Заблокирован
28.07.2014, 18:52 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 const int SIZE = 4;
    int init[SIZE][SIZE] = {
        {1, 2, 3, 4},
        {4, 3, 5, 6},
        {5, 6, 7, 8},
        {3, 5, 3, 1}
    };
 
    pair<int, int> &&data = {0, 1};
    pair<int, int> &&result = {0, 1};
    std::for_each(*init, &init[SIZE - 1][SIZE], [&](const int & elem)->void {
        data.second *= elem;
        if (++data.first % SIZE == 0)
            if (data.second > result.second)data.second = (result = {data.first / SIZE, data.second}, 1);
    });
    cout << result.first; //first 1
0
28.07.2014, 18:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2014, 18:52

Найти максимальный элемент среди всех элементов тех строк заданной матрицы А (4,4), которые упорядочены по возрастанию
нужно найти максимальный элемент среди всех элементов тех строк заданной...

Массивы. Найти максимальный элемент среди всех элементов тех строк заданной матрицы, которые упорядочены
Здравствуйте! помогите написать программу на языке C++. Найти максимальный...

Среди столбцов заданной целочисленной матрицы, заполненной случайными числами, порядка n* n, найти столбец с элементами
что не так? Среди столбцов заданной целочисленной матрицы, заполненной...


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

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

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