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

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

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

Поменять местами столбец матрицы с наибольшей суммой элементов и заданный столбец (результат не выводится) - C++

29.03.2017, 01:11. Просмотров 132. Ответов 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
using namespace std;
 
int Sum (int** arr, int N, int i)
{
    int sum = 0;
    for (int j=0; j<N; j++)
        if (arr[j][i] > 0)
            sum += arr[j][i];
    return sum;
}
 
int main()
{
    const int N=4, M=4;
    int sum, **arr;
    arr = new int* [N];
    for (int i=0; i<N; i++)
        arr[i] = new int [M];
    cout << "Enter elements: " << endl;
    for (int i=0; i<N; i++)
        for (int j=0; j<M; j++)
            cin >> arr[i][j];
    int value,smax;
    cout << "Enter value: ";
    cin >> value;
    for (int i=0; i<M; i++) //по столбцам
    {
        sum = Sum (arr, N, i);
        cout << "Sum of the column # " <<i+1 <<" = "<< sum << endl;
        if(sum>value)
            cout << "Index column: " << i+1 << endl;
        smax = i+1;
    }
        cout << smax << endl;
    int index,tmp;
    cout << "Enter index: ";
    cin >> index;
    for(int i = 1; i<N; i++)
    {
        tmp = arr[i][smax];
        arr[i][smax] = arr[index][i];
        arr[index][i] = tmp;
    }
    for (int i=0; i<N; i++)
        for (int j=0; j<M; j++)
            cout << arr[i][j];
    
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2017, 01:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами столбец матрицы с наибольшей суммой элементов и заданный столбец (результат не выводится) (C++):

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

Поменять местами строку матрицы с наименьшей суммой элементов со строкой с наибольшей суммой элементов - C++
Помогите плиз решить несколько задас на преобразование матриц на С++ 1.В действительной матрице поменять местами строку с наименьшей...

В целочисленной матрице поменять местами столбец с минимальной суммой со столбцом с максимальной суммой - C++
Дана прямоугольная матрица nxm целых чисел (n,m&lt;10 – ввод с клавиатуры, значения элементов массива в диапазоне – вводятся случайным...

Для произвольного двумерного массива найти столбец с наибольшей суммой элементов - C++
Помогите пожалуйста написать программу) Для произвольного двумерного массива найти столбец с наибольшей суммой элементов и записать их в...

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

Поменять местами столбцы матрицы: столбец, содержащий максимальный элемент матрицы, и столбец, содержащий минимальный элемент матрицы. - C++
В матрице, состоящей из положительных действительных чисел поменять местами два столбца: столбец, содержащий максимальный элемент...

4
likehood
796 / 655 / 228
Регистрация: 25.12.2016
Сообщений: 2,190
Завершенные тесты: 3
29.03.2017, 08:41 #2
Добавь в конце system("pause");
0
Adella
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 10
29.03.2017, 09:11  [ТС] #3
Это не помогает
0
likehood
796 / 655 / 228
Регистрация: 25.12.2016
Сообщений: 2,190
Завершенные тесты: 3
29.03.2017, 09:13 #4
Выводится, только в одну строку. Добавьте пробелы между элементами и перевод строки между строками.
0
Adella
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 10
29.03.2017, 11:39  [ТС] #5
Разобралась, дело было в самом выводе матрицы, он был не правильный, а не в этом
0
29.03.2017, 11:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2017, 11:39
Привет! Вот еще темы с ответами:

Поменять местами столбец L и строку K местами квадратной матрицы 4х4 - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; #define N 4 #define M 4 int _tmain(int argc, _TCHAR* argv) {...

Поменять местами строку и столбец матрицы - C++
Помогите с задачкой по с++ Разработать программу, которая в матрице размерности n*n меняет местами строку, содержащую элемент с...

Найти столбец массива с наибольшей суммой элементов и записатьегох в виде одномерного массива - C++
1 Для произвольного двумерного массива найти столбец с наибольшей суммой элементов и записать их в виде одномерного массива.

Первый и последний столбец матрицы поменять местами - C++
дана матрица 4 на 4 первый и последний столбец поменять местами


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

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

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