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

Сортировка столбцов по возрастанию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сумма элементов массива http://www.cyberforum.ru/cpp-beginners/thread984864.html
Подскажите, можно как то упростить следующую строку? STUD1.SES+STUD1.SES+STUD1.SES+STUD1.SES+STUD1.SES
C++ Операторы повторений - 2 задания В общем не смог решить 1 задачу и с печалю перешел на 2 задачу. Кому есть что сказать по первой задаче, можете тут написать :): http://www.cyberforum.ru/cpp-beginners/thread984750.html Вторая... http://www.cyberforum.ru/cpp-beginners/thread984862.html
C++ Напишите рекурсивную функцию, которая инвертирует строку символов
Помогите пожалуйста написать Программу Напишите рекурсивную функцию, которая инвертирует строку символов.
C++ Даны натуральные числа, действительное число, действительная матрица размерности n*m. Получить значение
Даны натуральные числа m и n, действительное число r, действительная матрица размерности n*m. Получить значение b1rn-1+b2rn-2+...+bn, где bk первый по порядку положительный элемент в k-ой строке...
C++ Спички http://www.cyberforum.ru/cpp-beginners/thread984840.html
На клеточном поле введена система координат так, что центр координат находится в точке пересечения линий сетки и оси направлены вдоль линий сетки. На поле(рис. прикреплен к данной теме) выложили...
C++ Изменение значения символа в строке например, есть строка string a = "ABC"; нужно заменить третий символ. a = 'D'; - не работает,как присваивать значение символу строки? подробнее

Показать сообщение отдельно
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
22.10.2013, 19:52
crazy1ua, окей, сейчас распишу

Добавлено через 24 минуты
crazy1ua, тестируй, правильно ли все (мало ли)
C++ (Qt)
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
#include <QTextStream>
 
void swap_column (int **arr, int n, int a, int b)
{
    for (int i = 0; i < n; i++)
    {
        int temp = arr[i][a];
        arr[i][a] = arr[i][b];
        arr[i][b] = temp;
    }
}
 
int get_summ (int **arr, int n, int a)
{
    int summ = 0;
    for (int i = 0; i < n; i++) summ += arr[i][a];
    return summ;
}
 
int main(int argc, char *argv[])
{
    QTextStream cout(stdout);
    QTextStream cin(stdin);
    int n,m;
    cout << "N:" << endl;
    cin >> n;
    cout << "M:" << endl;
    cin >> m;
    int **arr = new int*[n];
    for (int i = 0; i < n; i++)
        arr[i] = new int[m];
    /*заполнение массива*/
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
        {
            cout << "arr[" << i << "][" << j << "]:" << endl;
            cin >> arr[i][j];
        }
    cout << endl << "Array:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++) cout << arr[i][j] << "   ";
        cout << endl;
    }
    /*Сортировка пузырьком*/
    for (int i = 0; i < m - 1; i++)
        for (int j = 0; j < m - i; j++)
            if (get_summ(arr,n,j) > get_summ(arr,n,j+1)) swap_column(arr,n,j,j+1);
    /*вывод отсортированной матрицы*/
    cout << endl << "New array:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++) cout << arr[i][j] << "   ";
        cout << endl;
    }
    /*Завершаем программу*/
    for (int i = 0; i < n; i++)
        delete []arr[i];
    delete []arr;
    return 0;
}
5-6 пробных запусков делал с разными размерами матриц, работает
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru