Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 41
1

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

08.10.2014, 17:59. Показов 2290. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить пожалуйста:
Дан целочисленный квадратный массив размера m*n, где m и n – натуральные числа. Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов. В предположении, что таких столбцов несколько, сформировать массив из минимальных элементов таких столбцов.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2014, 17:59
Ответы с готовыми решениями:

В квадратной матрице порядка 8 найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов
Помогите, пожалуйста, решить задачу!) Дана целочисленная квадратная матрица порядка 8. Найти...

Поиск наименьшего из значений элементов столбца, который обладает наибольшей суммой модулей элементов
Люди может кто-нибудь написать метод решения задач к данной: #include <stdio.h> #include...

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

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

3
Модератор
Эксперт JS
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
08.10.2014, 18:07 2
Цитата Сообщение от vikky Посмотреть сообщение
квадратный массив размера m*n
Квадратный - это m*m. m*n - просто двумерный массив.
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 41
08.10.2014, 18:29  [ТС] 3
Видимо просто опечатка в задании)
0
Модератор
Эксперт JS
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
08.10.2014, 19:48 4
Лучший ответ Сообщение было отмечено vikky как решение

Решение

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
#include <cstdlib>
#include <iostream>
#include <cstdio>
 
int main ( ) {
  
  const int m = 5, n = 7;
  int arr[m][n];
  int sum_abs[n];
  
  for ( int i = 0; i < m; ++i ) {
    for ( int j = 0; j < n; ++j ) { arr[i][j] = rand() % 20;  printf("%2i  ", arr[i][j]); } // Да простят меня плюсы за б-гмерзкий printf
    std::cout << std::endl; // И за смешивание способов вывода.
  }
  
  for ( int j = 0; j < n; ++j ) {
    sum_abs[j] = 0;
    for ( int i = 0; i < m; ++i )
      sum_abs[j] += abs(arr[i][j]);
  }
  
  
  int max_sum = sum_abs[0];
  int max_count = 1;
  
  for ( int i = 0; i < n; ++ i ) 
    if ( max_sum < sum_abs[i] ) { max_sum = sum_abs[i]; max_count = 1; }
    else if ( max_sum == sum_abs[i] ) ++max_count;
  
  int * minimals = new int[max_count];
  
  for ( int min_i = 0, i = 0; i < n; ++i ) {
    if ( sum_abs[i] != max_sum ) continue;
    
    minimals[min_i] = arr[0][i];
    for ( int j = 1; j < m; ++j )
      if ( minimals[min_i] > arr[j][i] ) minimals[min_i] = arr[j][i];
    ++min_i;
  }
  
  std::cout << std::endl << "Minimals: ";
  for ( int i = 0; i < max_count; ++i ) std::cout << minimals[i] << " ";
  std::cout << std::endl;
  
  return 0;
}
Добавлено через 2 минуты
Сейчас пройдусь комментами по коду, обождите

Добавлено через 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
38
39
40
41
42
43
44
45
46
#include <cstdlib> // <- Для printf ( )
#include <iostream> // <- Для std::cout
#include <cstdio> // <- Для rand ( )
 
int main ( ) {
  
  const int m = 5, n = 7;
  int arr[m][n]; // Исходный массив
  int sum_abs[n]; // Одномерный массив, в котором хранятся суммы модулей элементов по столбцам.
  
  for ( int i = 0; i < m; ++i ) {
    for ( int j = 0; j < n; ++j ) { arr[i][j] = rand() % 20;  printf("%2i  ", arr[i][j]); } // Задаём и выводим, да простят меня плюсы за б-гмерзкий printf
    std::cout << std::endl; // И за смешивание способов вывода.
  }
  
  for ( int j = 0; j < n; ++j ) { // Заполняем массив сумм.
    sum_abs[j] = 0;
    for ( int i = 0; i < m; ++i )
      sum_abs[j] += abs(arr[i][j]); 
  }
  
  
  int max_sum = sum_abs[0]; // Переменная, в которой будет храниться максимальная сумма
  int max_count = 1; // И счётчик столбцов, сумма которых максимальна
  
  for ( int i = 0; i < n; ++ i ) // Ищем эти переменные
    if ( max_sum < sum_abs[i] ) { max_sum = sum_abs[i]; max_count = 1; } 
    else if ( max_sum == sum_abs[i] ) ++max_count;
  
  int * minimals = new int[max_count]; // Динамически выделяем итоговый массив
  
  for ( int min_i = 0, i = 0; i < n; ++i ) { // Теперь заполняем его (здесь - обход столбцов)
    if ( sum_abs[i] != max_sum ) continue; // Если столбец не подходит - не выполняем следующий код.
    
    minimals[min_i] = arr[0][i]; 
    for ( int j = 1; j < m; ++j ) // А теперь просто ищем минимальный элемент столбца
      if ( minimals[min_i] > arr[j][i] ) minimals[min_i] = arr[j][i];
    ++min_i; // Ну и инкремент индекса результирующего массива 
  }
  
  std::cout << std::endl << "Minimals: ";
  for ( int i = 0; i < max_count; ++i ) std::cout << minimals[i] << " ";
  std::cout << std::endl;
  
  return 0;
}
2
08.10.2014, 19:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2014, 19:48
Помогаю со студенческими работами здесь

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

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

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

Массив: Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов.
Помогите пожалуйста, нужно срочно работу в колледже сдать, а я дуб дубнем в c# Дана...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru