Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Дан двумерный массив. Найти строку с минимальной суммой элементов - C++

23.12.2012, 21:45. Просмотров 1177. Ответов 5
Метки нет (Все метки)

Дан двумерный массив. Найти: строку с минимальной суммой элементов. Если таких строк несколько, должен быть найден номер самой верхней из них.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2012, 21:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дан двумерный массив. Найти строку с минимальной суммой элементов (C++):

дано двумерный массив целых чисел найти столбик с минимальной суммой элементов - C++
дано двумерный массив целых чисел найти столбик с минимальной суммой элементов

Найти строку с минимальной суммой элементов - C++
Найти строку с минимальной суммой элементов. Если таких строк несколько то нужн найти номер первой из них! #include <iostream> ...

В двумерном N*K массиве целых чисел поменять строку с максимальной суммой элементов со строкой с минимальной суммой элементов. - C++
Массив заполнять случайными числами, кроме случаев, когда это нецелесообразно (прогрессия, лабиринт). -В двумерном N*K массиве целых...

в матрице P (n,m) найти строку с минимальной суммой отрицательных элементов и поэлементно поменять ее - C++
в матрице P (n,m) найти строку с минимальной суммой отрицательных элементов и поэлементно поменять ее..... помогите пожалусто...если...

Массив: Найти столбик с минимальной суммой элементов - C++
дано двумерный массив целых чисел, найти столбик с минимальной суммой элементов

В заданной матрице поменять строку с минимальной суммой со строкой с максимальной суммой - C++
помогите с кодом

5
Pentacle
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 6
23.12.2012, 22:09 #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
#include<iostream>
using namespace std;
 
void main()
{
    int const N = 5;
    int arr[5][5] = {{1,2,9,4,3},
                     {1,2,6,2,9}, 
                     {6,8,1,5,5},
                     {1,2,9,4,3},
                     {2,8,3,8,9}};
 
    int sum = 0, min_sum = 0;
    int line_num = 0;
 
    for (int j = 0; j < N; j++)
        min_sum += arr[0][j];
 
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
            sum += arr[i][j];
        if (min_sum > sum)
        {
            min_sum = sum; 
            line_num = i;
        }
        sum = 0;
    }
 
    cout << line_num << endl; 
}
0
melo232
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 33
10.01.2013, 16:00  [ТС] #3
Цитата Сообщение от Pentacle Посмотреть сообщение
Для заданного двумерного массива :
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
#include<iostream>
using namespace std;
 
void main()
{
    int const N = 5;
    int arr[5][5] = {{1,2,9,4,3},
                     {1,2,6,2,9}, 
                     {6,8,1,5,5},
                     {1,2,9,4,3},
                     {2,8,3,8,9}};
 
    int sum = 0, min_sum = 0;
    int line_num = 0;
 
    for (int j = 0; j < N; j++)
        min_sum += arr[0][j];
 
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
            sum += arr[i][j];
        if (min_sum > sum)
        {
            min_sum = sum; 
            line_num = i;
        }
        sum = 0;
    }
 
    cout << line_num << endl; 
}
Выводит просто 0. В чем проблема можешь сказать?
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
10.01.2013, 19:39 #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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main()
{
    srand(time(0));
    const int size = 5;
    int matrix[size][size];
    
    int minimalSumOfRow = 0;
    std::cout << "Matrix: " << std::endl;
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) 
            std::cout << std::setw(5) << (matrix[i][j] = rand() % 50);
        minimalSumOfRow += matrix[0][i];
        std::cout << std::endl;
    }
    
    int numberOfMinimalRow = 0;
    for (int i = 1; i < size; i++) {
        int tempSum = 0;
        for (int j = 0; j < size; j++) 
            tempSum += matrix[i][j];
        if (tempSum < minimalSumOfRow) {
                    minimalSumOfRow = tempSum;
                    numberOfMinimalRow = i;
        }
    }
    std::cout << "Minimal sum in row #" << numberOfMinimalRow + 1 << " - " << minimalSumOfRow << ";\n";      
    
    system("pause");
    return 0;
}
0
Valli1
4 / 4 / 0
Регистрация: 14.09.2012
Сообщений: 64
11.01.2013, 19:37 #5
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
#include<iostream>
using namespace std;
 
int main()
{
    int const N = 5;
    int arr[N][N] = {{1,1,1,1,2},
                     {1,1,1,1,2}, 
                     {1,1,1,1,2},
                     {1,1,1,1,7},
                     {1,1,1,1,19}};
 
int sum[N]={0};
int t=0;
  for (int i = 0; i < N; i++)
 for (int j = 0; j < N; j++)
  sum[i] += arr[i][j];
  t=sum[0];
for(int i=0;i<N;i++)
if(t>=sum[i])
t=sum[i];
cout<<"Minimalaia symma:"<<t<<'\n';
cout<<"Nomera strok s min summami:";
for(int i=0;i<N;i++)
if(t==sum[i])
cout<<i<<" ";
 
 
 
  
    cin.get();
    cin.get();
    
    return 0;
}
Добавлено через 19 минут
Выводит просто 0. В чем проблема можешь сказать?
У вас невыполнимое условие в if сравниваете сумму сумм всех строк с суммой одной строки.
0
Pentacle
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 6
12.01.2013, 03:13 #6
Цитата Сообщение от melo232 Посмотреть сообщение
Выводит просто 0. В чем проблема можешь сказать?
Все верно, 0. Для заданной матрицы строка с мин. суммой элементов - строка под номером 0 (или её можно считать первой сверху, как угодно).
0
12.01.2013, 03:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2013, 03:13
Привет! Вот еще темы с ответами:

В двумерном массиве n*m найти строку с минимальной суммой и в ней максимальный элемент - C++
1)Создать двумерный массив размером n*m. 2)Найти строку с минимальной суммой и в ней максимальный элемент. как сделать первое примерно...

Дана Матрица Н(6,5). Найти столбец с минимальной суммой элементов - C++
Дана Матрица Н(6,5). Найти столбец с минимальной суммой элементов Добавлено через 52 секунды не могу сделать подскажите пожалуйста

Дан двумерный массив m*n. Найти среднее арифметическое положительных элементов массива - C++
2. Дан двумерный массив m*n. Найти среднее арифметическое положительных элементов массива.

В целочисленной матрице найти номер столбца с минимальной суммой элементов - C++
С++.дана целочисленная матрица (m,n) Найти номер столбца с минимальной суммой элементов


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.