Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 42
1

Выявить строки, в которых макс. эл-т больше суммы остальных эл-ов строки

30.04.2013, 21:40. Просмотров 1000. Ответов 2
Метки нет (Все метки)

В прямоугольной матрице выявить все строки, у которых максимальный элемент превосходит сумму остальных элементов строки. Хочу подстраховаться, вдруг не получится...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2013, 21:40
Ответы с готовыми решениями:

В прямоугольной матрице выявить все строки, у которых максимальный элемент превосходит сумму остальных элементов строки
С++ Кому не сложно, пожалуйста помогите новичку.. В прямоугольной матрице выявить все строки,...

Найти строки, у которых диагональный элемент больше суммы всех остальных
2. Дан квадратный двумерный массив A размера nxn. Сформировать одномерный массив B, куда записать...

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

Определить, верно ли утверждение: сумма элементов каждой i-й строки матрицы больше суммы (i-1)-й строки
Дана квадратная матрица натуральных чисел, (получаемая через rand()). Определить, верно ли...

2
651 / 521 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
30.04.2013, 22:05 2
Лучший ответ Сообщение было отмечено sensey-one как решение

Решение

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
#include <iostream>
#define N 2
#define M 3
 
int main()
{
    int mas[N][M];
 
    for ( int i = 0; i < N; i++ )
    {
        for ( int j = 0; j < M; j++ )
        {
            mas[i][j] = rand() % 100;
            std::cout << mas[i][j] << " ";
        }
 
        std::cout << std::endl;
    }
 
    for ( int i = 0; i < N; i++ )
    {
        int maxRow = i, maxCol = 0;
        int sum = 0;
        for ( int j = 0; j < M; j++ )
        {
            if ( mas[maxRow][maxCol] < mas[i][j] )
            {
                maxRow = i;
                maxCol = j;
            }
 
            sum += mas[i][j];
        }
 
        sum -= mas[maxRow][maxCol];
 
        if ( mas[maxRow][maxCol] > sum )
            std::cout << "Row = " << i << std::endl;
    }
 
    system( "pause" );
    return 0;
}
0
407 / 245 / 117
Регистрация: 26.12.2012
Сообщений: 786
01.05.2013, 08:47 3
Не получится точно.У меня появилось много вопросов по коду.
1.как у вас работает эта строка?
C++
1
[CPP]mas[i][j] = rand() % 100;
[/CPP]
rand() у вас нигде не объявлена,да и в таком виде числа генерируются одни и те же.Случайных чисел вы не получите.
2.Как вы определяете макс элемент каждой строки?Это условие
C++
1
 if ( mas[maxRow][maxCol] < mas[i][j] )
будет выполняться только для 1 переменной т.е.вы найдете макс элемент
только одной строки в лучшем случае.
3.сумму чего вы находите?
C++
1
sum += mas[i][j];
4.что делает эта строка?
C++
1
sum -= mas[maxRow][maxCol];
Вы собираетесь в одной и той же переменной сохранить и сумму и разницу не понятно чего.
5.что вы пытаетесь сравнить?
C++
1
 if ( mas[maxRow][maxCol] > sum )
С вашими размерами матрицы и вашим рандомом возможно ваш код сработает 1 раз.
Для оценки работы вам надо бы и отрицательные числа добавлять иначе вероятность попадания при таких числах и при больших размерах матрицы очень мала.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2013, 08:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определить, верно ли утверждение: сумма элементов каждой i-ой строки матрицы больше суммы (i-1)-ой строки
1. Дана квадратная матрица натуральных чисел, (получаемая через rand()). Определить, верно ли...

Определить в матрице элементы, которые больше суммы остальных элементов строки
Здравствуйте! Дан массив A 4×5, определить «особые» элементы исходного массива, считая элемент...

Определить количество особых элементов которые больше суммы остальных элементнтов его строки или столбца
Дана матрица a(m*n) . Определить количество особых элементов которые больше суммы остальных...

Определить номера строк, в которых наибольший элемент больше суммы всех остальных элементов
1.Создать подпрограмму, которая по заданной матрице Х(М,N) определяет номера строк, в которых...


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

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

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