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

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

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

Найти максимальный среди всех элементов тех строк заданной матрицы, которые упорядочены C++
C++ Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с максимальной суммой модулей элементов
Массивы. Найти максимальный элемент среди всех элементов тех строк заданной матрицы, которые упорядочены C++
Найти максимальный элемент среди всех элементов тех строк заданной матрицы А (4,4), которые упорядочены по возрастанию C++
Подсчитать количество строк заданной целочисленной матрицы N*N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ElectroBot
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 10
25.07.2014, 12:44     Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов #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;
}
lawr
 Аватар для lawr
344 / 238 / 116
Регистрация: 09.05.2014
Сообщений: 727
26.07.2014, 19:25     Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов #3
ElectroBot, нужно найти не значение максимального произведения, а строку.
ElectroBot
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 10
28.07.2014, 12:08     Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов #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;
}
GyroReaper
8 / 8 / 1
Регистрация: 20.10.2013
Сообщений: 49
28.07.2014, 12:53     Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов #5
В условии сказано, что нельзя вводить числа больше 8. Разве не так?
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
28.07.2014, 14:32     Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов #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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2014, 18:52     Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Trwsdf
Заблокирован
28.07.2014, 18:52     Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов #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
Yandex
Объявления
28.07.2014, 18:52     Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов
Ответ Создать тему
Опции темы

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