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

Найти номер ее столбца с наименьшим произведением элементов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Vanessa
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 14
17.03.2010, 17:11     Найти номер ее столбца с наименьшим произведением элементов #1
Помогите пожалуйста с исходным кодом, как решить на языке программирования С++...
Matrix26. Дана матрица размера M × N. Найти номер ее столбца с наименьшим произведением элементов и вывести данный номер, а также значение наи-меньшего произведения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2010, 17:11     Найти номер ее столбца с наименьшим произведением элементов
Посмотрите здесь:

Найти номера двух ближайших элементов из этого массива, т. е. элементов с наименьшим модулем разности C++
Найти столбец с минимальным произведением элементов (усложнить) C++
определить номер столбца матрицы с минимальным количеством отрицательных элементов и прибавить значения этого столбца к соответствующим элементам всех C++
C++ Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент.
C++ Найти номер строки и номер столбца, в котором находится минимальный элемент матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
17.03.2010, 17:27     Найти номер ее столбца с наименьшим произведением элементов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int minProizv = Int_Max;
int jmin;
int Proizv;
for (int j=0; i<M; j++)
{
Proizv = 0;
for (int i=0; i<N; i++)
{
Proizv*=matrix[i][j];}
if (Proizv<maxProizv)
{
minProizv = Proizv;
jmin = j;
}
}
}
std::cout << "номер столбца с наименьшим произведением элементов: "<< jmin << std::endl;
std::cout << "наименьшее произведение элементов столбца: " << minProizv << std::endl;
Кажется так, не проверял!
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.03.2010, 18:00     Найти номер ее столбца с наименьшим произведением элементов #3
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 <stdio.h>
#include <conio.h>
 
#define H 3
#define W 4
int main(){
    int matrix[H][W] = {
        {9,2,3,7},
        {9,2,3,7},
        {9,2,3,7}
    };
 
int i,j;
int pr = 1;
int m_pr = 1;
int n_numb_stb = 0;
for(j=0;j<H;j++)m_pr*=matrix[j][0];
 
for(i=0;i<W;i++){
        for(j=0;j<H;j++)pr*=matrix[j][i];
    
        if(pr<m_pr){ 
        m_pr = pr;
        n_numb_stb = i;
        }
pr=1;
}
 
 
 
printf("minimalnoe pr :%d",m_pr);
printf("\n");
printf("numb stb with min pr :%d",n_numb_stb);
printf("\n");
getch();
return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
17.03.2010, 18:04     Найти номер ее столбца с наименьшим произведением элементов #4
Цитата Сообщение от Mиxaил Посмотреть сообщение
C++
1
2
3
Proizv = 0; 
for (int i=0; i<N; i++) 
{ Proizv*=matrix[i][j];}
Ноль на что ни умножай, всё равно ноль получится...

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
#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <ctime>
    
/*
*   Дана матрица размера M ? N. Найти номер ее столбца с наименьшим произведением элементов 
*   и вывести данный номер, а также значение наименьшего произведения.
*/
    
long columnMul(int **arr, int rows, int column_index){
    long mul = 1;
    for ( int i = 0; i < rows; ++i )
        mul *= arr[i][column_index];
    return mul;
}
 
int main(){
    int rows, columns, i, j; // M & N
    std::cout << "Rows in matrix: ";
    std::cin >> rows;
    std::cout << "Columns in matrix: ";
    std::cin >> columns;
    int **matr = new int* [ rows ];
    for ( i = 0; i < rows; ++i )
        matr[i] = new int [ columns ];
        
    srand(time(NULL));
    for ( i = 0; i < rows; ++i )
        for ( j = 0; j < columns; ++j )
            matr[i][j] = rand() % 10 + 1;
    std::cout << "Values in matrix:" << std::endl;
    for ( i = 0; i < rows; ++i ){
        for ( j = 0; j < columns; ++j )
            std::cout << std::setw(3) << std::right << matr[i][j];
        std::cout << std::endl;
    }
    
    std::vector<long> muls;
    for ( j = 0; j < columns; ++j )
        muls.push_back(columnMul(matr, rows, j));
    std::vector<long>::iterator m = std::min_element(muls.begin(), muls.end());
    std::cout << "Column with minimum multiply have index " << std::distance(muls.begin(), m)
        << " starts by zero" << std::endl;
    std::cout << "Multiply of this column is " << *m << std::endl;
    
    for ( i = 0; i < rows; ++i )
        delete [] matr[i];
    delete [] matr;
    
    return 0;
}
Vanessa
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 14
17.03.2010, 18:30  [ТС]     Найти номер ее столбца с наименьшим произведением элементов #5
А по проще никак? Я просто много не учила ещё, если не трудно подскажите пожалуйста по проще...
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.03.2010, 19:18     Найти номер ее столбца с наименьшим произведением элементов #6
А по проще никак...
Я просто много не учила ещё, если не трудно подскажите пожалуйста по проще...
Что понимается под словом проще?
Vanessa
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 14
17.03.2010, 23:42  [ТС]     Найти номер ее столбца с наименьшим произведением элементов #7
Проще подрозумивается исходный код, написание его по другому....
Просто я говорила уже правда, мы многого не учили....Если можно то пожалуйста по-другому больше никак нельзя?
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
17.03.2010, 23:51     Найти номер ее столбца с наименьшим произведением элементов #8
easybudda, точняк!!!
C++
1
2
3
4
5
Proizv = 1; //поставим единичку
for (int i=0; i<N; i++)
{
Proizv*=matrix[i][j];
}


Добавлено через 3 минуты
Vanessa, а это и есть попроще, по крайней мере, мой код самый простой из всех остальных, только я тебе написал поиск столбца и максимального произведения, а остальное тебе придется самой дописать! проще никак не напишешь!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2010, 01:56     Найти номер ее столбца с наименьшим произведением элементов
Еще ссылки по теме:

C++ Дана квадратная матрица. Найти строку с наибольшим и наименьшим произведением элементов
C++ Найти строку матрицы с максимальным произведением элементов
В целочисленной матрице найти номер столбца с минимальной суммой элементов C++

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

Или воспользуйтесь поиском по форуму:
Vanessa
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 14
18.03.2010, 01:56  [ТС]     Найти номер ее столбца с наименьшим произведением элементов #9
Спасибо вам за всё!)
Yandex
Объявления
18.03.2010, 01:56     Найти номер ее столбца с наименьшим произведением элементов
Ответ Создать тему
Опции темы

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