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

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

Восстановить пароль Регистрация
 
DiLady
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 7
30.05.2013, 23:18     В квадратной матрице порядка 8 найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов #1
Помогите, пожалуйста, решить задачу!)
Дана целочисленная квадратная матрица порядка 8. Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов. Если таких столбцов несколько, то взять первый из них.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 23:18     В квадратной матрице порядка 8 найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов
Посмотрите здесь:

C++ Найти в матрице первый по очереди строка с наибольшей суммой элементов.
наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов C++
Поиск наименьшего из значений элементов столбца, который обладает наибольшей суммой модулей элементов C++
C++ Действие с матрицей (Найти наименьшее из значений элементов столбца, который имеет наибольшую сумму модулей элементов)
C++ В квадратной матрице найти сумму модулей элементов в строках, содержащих хотя бы один отрицательный элемент; определить номер 1ой строки с 0-ым элем-о
C++ В матрице размерностью MxN найти номер строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы
C++ Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов
В целочисленной матрице найти номер столбца с минимальной суммой элементов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
31.05.2013, 21:24     В квадратной матрице порядка 8 найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов #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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//============================================================================
// Name        : col_matrix_min_max.cpp
// Author      : UranFlex
// Version     : 0.1 alpha
// Copyright   : GNU GPL
// Description : Дана целочисленная квадратная матрица порядка 8.
//               Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов.
//               Если таких столбцов несколько, то взять первый из них.
//               Примечание - столбцы нумеруются начиная с нуля.
//               C++, Ansi-style.
//============================================================================
 
#include <iostream>
#include <cmath>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
#define SZ 8 // размер матрицы
 
using namespace std;
//функция заполняет квадратную матрицу псевдослучайными данными
void FillMatrix( int* matrix, const size_t size, const unsigned randRange = 101, const int shift = -50 );
//функция выводит на экран квадратную матрицу
void PrintMatrix( int* const matrix, const size_t size );
// функция возвращает номер первого столбца, который который обладает наибольшей суммой модулей элементов
int MaxModulSumCol( int* matrix, size_t size );
// функция возвращает наименьшее из значений элементов указанного столбца квадратной матрицы
int MinElementCol( int* matrix, size_t size, size_t col );
 
int main() {
    srand( time( 0 ) ); // засеять генератор случайных чисел
 
    int matrix[ SZ ][ SZ ]; // объявляем нашу матрицу
 
    FillMatrix( *matrix, SZ ); // заполняем матрицу псевдослучайными значениями типа int
 
    // выводим матрицу на экран
    cout << "Исходная матрица:" << endl;
    PrintMatrix( *matrix, SZ );
 
    size_t numCol = MaxModulSumCol( *matrix, SZ );// находим первый столбец с наибольшей суммой модулей элементов
    int min = MinElementCol( *matrix, SZ, numCol );// находим наименьший элемент в нем
 
    cout << "Первый столбец с наибольшей суммой модулей элементов " << numCol << " \nНаименьший элемент в нем " << min <<  endl;
    return 0;
}
 
void FillMatrix( int* matrix, const size_t size, const unsigned randRange, const int shift ) {
    for ( size_t i = 0; i < size; ++i )
        for ( size_t j = 0; j < size; ++j )
            matrix[ i * size + j ] = shift + rand() % randRange;
}
 
void PrintMatrix( int* const matrix, const size_t size ) {
    for ( size_t i = 0; i < size; ++i ) {
 
        for ( size_t j = 0; j < size; ++j )
            cout << setw( 4 ) << matrix[ i * size + j ];
 
        cout << endl;
    }
}
 
int MaxModulSumCol( int* matrix, size_t size ) {
 
    int col, maxSum;
 
    for ( size_t i = 0; i < size; ++i ) {
 
        int sum = 0;
        for ( size_t j = 0; j < size; ++j )
            sum = sum + abs( matrix[ j * size + i ] );
 
        if ( i == 0 ) {
            maxSum = sum;
            col = 0;
        } else if ( sum > maxSum ) {
            maxSum = sum;
            col = i;
        }
    }
 
    return col;
}
 
int MinElementCol( int* matrix, size_t size, size_t col ){
 
    int RowMinElem = 0;
 
    for ( size_t i = 1; i < size; ++i )
 
        if ( matrix[ i * size + col ] < matrix[ RowMinElem * size + col ] )
            RowMinElem = i;
 
    return ( matrix[ RowMinElem * size + col ] );
}
Yandex
Объявления
31.05.2013, 21:24     В квадратной матрице порядка 8 найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов
Ответ Создать тему
Опции темы

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