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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DiLady
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 7
#1

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

30.05.2013, 23:18. Просмотров 938. Ответов 1
Метки нет (Все метки)

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

Поменять местами строку матрицы с наименьшей суммой элементов со строкой с наибольшей суммой элементов C++
C++ Найти в матрице первый по очереди строка с наибольшей суммой элементов.
наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов C++
Поиск наименьшего из значений элементов столбца, который обладает наибольшей суммой модулей элементов C++
C++ Действие с матрицей (Найти наименьшее из значений элементов столбца, который имеет наибольшую сумму модулей элементов)
C++ В квадратной матрице найти сумму модулей элементов в строках, содержащих хотя бы один отрицательный элемент; определить номер 1ой строки с 0-ым элем-о
C++ Матрица. Найти номер ее ряда с наибольшей суммой элементов и вывести данный ее номер, а также значение наибольшей суммы
C++ В матрице размерностью MxN найти номер строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы
C++ Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов
Удаление столбца с наибольшей по модулю суммой элементов из матрицы. Объясните принцип работы C++
В целочисленной матрице найти номер столбца с минимальной суммой элементов 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 найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов
Ответ Создать тему
Опции темы

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