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

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

11.01.2022, 19:48. Показов 591. Ответов 3
Метки с++ (Все метки)

Author24 — интернет-сервис помощи студентам
#include <iostream>

using namespace std;

int main()
{
cout << "Vvedite kol-vo strok" << endl;
int stk;
cin >> stk;
cout << "Vvedite kol-vo stolbcov" << endl;
int stb;
cin >> stb;

//создание массивов

int** arr = new int* [stk];

for (int i = 0; i < stk; i++)
{
arr[i] = new int[stb];

}

//заполнение массива

for (int i = 0; i < stk; i++)
{
for (int j = 0; j < stb; j++)
{
cout << "Zapolnite massiv" << endl;
cin >> arr[i][j];
}
}


//вывод массива

for (int i = 0; i < stk; i++)
{
for (int j = 0; j < stb; j++)
{
cout << "\t" << arr[i][j] << "\t";
}
cout << endl << endl;
}

//zadacha

int temp;
int k;
cout << "Номер строки для сортировки: ";
cin >> k;
k--;
for (int i = 0; i < stb; i++)
{
for (int j = 0; j < stb - 1; j++)
{
if (arr[k][j] > arr[k][j + 1])
{
temp = arr[k][j];
arr[k][j] = arr[k][j + 1];
arr[k][j + 1] = temp;
}
}
}

cout << "Новый массив: " << endl;

for (int i = 0; i < stk; ++i)
{
for (int j = 0; j < stb; ++j)
cout << arr[i][j] << "\t";
cout << endl;
}

//очистка массивов

for (int i = 0; i < stk; i++)
{
delete[] arr[i];

}
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2022, 19:48
Ответы с готовыми решениями:

Нужно отсортировать каждый столбец матрицы по спаданию эллементов
Только начинаю програмировать и пока не могу разобраться.Нужно отсортировать каждый столбец матрицы...

Дана целочисленная прямоугольная матрица размера MxN. Отсортировать каждый столбец с четным номером по неубыванию, а каждый столбец с нечетным номеро
Дана целочисленная прямоугольная матрица размера MxN. Отсортировать каждый столбец с четным номером...

Дана целочисленная прямоугольная матрица размера MxN. Отсортировать каждый столбец с четным номером по неубыванию, а каждый столбец с нечетным номеро
Дана целочисленная прямоугольная матрица размера MxN. Отсортировать каждый столбец с четным номером...

Отсортировать каждый нечетный столбец матрицы по неубыванию, а каждый четный столбец - по невозрастанию
Дана целочисленная прямоугольная матрица размера MxN. Отсортировать каждый столбец матрицы с четным...

Отсортировать каждый четный столбец матрицы по не убыванию, а каждый нечетный столбец - по возрастанию
Дана целочисленная прямоугольная матрица размера MxN. Отсортировать каждый столбец матрицы с четным...

3
404 / 261 / 168
Регистрация: 13.01.2021
Сообщений: 1,162
11.01.2022, 21:10 2
Veznaren, вам нужно конкретно какой-то столбец по номеру отсортировать или же весь массив?
0
0 / 0 / 0
Регистрация: 28.11.2021
Сообщений: 8
11.01.2022, 21:12  [ТС] 3
нужно отсортировать все столбцы в массиве
0
404 / 261 / 168
Регистрация: 13.01.2021
Сообщений: 1,162
11.01.2022, 21:25 4
Лучший ответ Сообщение было отмечено Veznaren как решение

Решение

Veznaren,
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
#include <iostream>
using namespace std;
void Sort_stolb(int** arr, int n, int m){
    for(int j = 0; j < m; j++){
        for(int i = 0; i < n; i++){
            for(int k = i+1; k < n; k++){
                if(arr[i][j] > arr[k][j]){
                    swap(arr[i][j], arr[k][j]);
                }
            }
        }
    }
}
void Print(int** arr, int n, int m){
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            cout << arr[i][j] <<" ";
        }
        cout << endl;
    }
}
int main(){
    int n, m;
    cout <<"Введите количество рядков: ";
    cin >> n;
    cout <<"Введите количество столбцов: ";
    cin >> m;
    int** arr = new int* [n];
    for(int i = 0; i < n; i++){
        arr[i] = new int[m];
        for(int j = 0; j < m; j++){
            cin >> arr[i][j];
        }
    }
    cout <<"Ваш массив: "<<endl;
    Print(arr, n, m);
    cout <<"Ваш массив после сортировки: "<<endl;
    Sort_stolb(arr, n, m);
    Print(arr, n, m);
    delete[] arr;
}
1
11.01.2022, 21:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2022, 21:25
Помогаю со студенческими работами здесь

Отсортировать каждый столбец с четным номером по неубыванию, а каждый столбец с нечетным номером -по невозрастанию
Дана целочисленная прямоугольная матрица размера MxN. Отсортировать каждый столбец с четным номером...

Функция atoi определяет только первое число ряда символов, а нужно, чтобы считало весь ряд, как это сделать?
Есть масив символов: char s=&quot;1111 2222 3333 4444&quot;; При использовании функции atoi она считает...

Столбец нужно добавить "Общая стоимость" количество КАЖДОГО товара умноженное на его стоимость. Как это сделать?
Столбец нужно добавить &quot;Общая стоимость&quot; количество КАЖДОГО товара умноженное на его стоимость....

Отсортировать каждый столбец матрицы по убыванию
Приветствую уважаемые знатаки. Нужна помощь, отсортировать каждый столбец матрицы по убыванию...

Отсортировать каждый столбец матрицы по возрастанию
Задана матрица А (NxN). Отсортировать каждый столбец матрицы по возрастанию.


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

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