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

Отсортировать по возрастанию заданную строку матрицы

16.12.2018, 19:33. Показов 1477. Ответов 1

Author24 — интернет-сервис помощи студентам
Задание: Отсортируйте по возрастанию заданную строку массива. Распечатайте массив в виде таблицы дважды: до и после сортировки.
Проблема: почему-то не происходит сортировка, подскажите, пожалуйста, что не так?


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
51
52
53
54
55
56
57
58
59
60
#include "pch.h"
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int n = 4; // размер массива
    int arr[n][n];
    cout << "Введите массив:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << "arr[" << i << "]" << "[" << j << "]" << ": ";
            cin >> arr[i][j];  // ввод элементов массива
        }
    }
 
    cout << "=============================================" << endl;
 
    cout << "Введенный массив:" << endl; // вывод заполненного массива
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++) {
            cout << arr[i][j] << " ";
        }
        cout << '\n';
    }
 
    cout << "=============================================" << endl;
 
    int choice = 0, temp;
    cout << "Выберите строку, которую вы хотите отсортировать, выберите значение от 0 до 4:" << endl;
    cin >> choice;
 
        for (int j = 0; j < n; j++) {
 
            if (arr[choice][j] > arr[choice][j] + 1) {
                temp = arr[choice][j];
                arr[choice][j] = arr[choice][j + 1];
                arr[choice][j + 1] = temp;
            
        }
    }
 
 
    cout << "=============================================" << endl;
 
    cout << "Полученный массив:" << endl; // вывод результата 
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++) {
            cout << arr[i][j] << " ";
        }
        cout << '\n';
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2018, 19:33
Ответы с готовыми решениями:

Отсортировать 1 строку матрицы и 2 столбик по возрастанию
Приветствую господа! Хочу понять как написать программу для сортировки 1 строки и 2 столбца матрицы...

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

Отсортировать по возрастанию первую строку и второй столбец матрицы
Помогите пожалуйста!с++. Отсортировать по возрастанию первую строку и второй столбец матрицы....

Меняя местами столбцы матрицы, отсортировать по возрастанию ее первую строку
Меняя местами столбцы матрицы, отсортировать по возрастанию ее первую строку. int **ar2=new...

1
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
17.12.2018, 02:49 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int n, m, K;
    cout <<"n="; cin >>n;
    cout <<"m="; cin >>m;
    
      double **a = new double*[n]; 
    for (int i = 0; i < n; i++)
      a[i]=new double[m];
    
    for (int i = 0; i < n; i++)
    {
    for (int j = 0; j < m; j++)
    {
    a[i][j]=rand()%9 + 1;
    cout <<a[i][j]<<" ";
    }
    cout << endl;
    }
    
    do
    {
    cout <<"K="; cin >> K;
    if (K<1 || K>n) cout <<"1<=K<="<<n<<"  Repeat please...\n";
    }
    while (K<1 || K>n);
    
    for (int i=0; i<m-1; i++)    
    for (int j=0; j<m-i-1; j++)        
      if (a[K-1][j] > a[K-1][j+1]) 
      swap(a[K-1][j], a[K-1][j+1]);
      
    for (int i = 0; i < n; i++)
    {
    for (int j = 0; j < m; j++)
    cout <<a[i][j]<<" ";    
    cout << endl;
    }
    
    for (int i = 0; i < n; i++)
    delete[]a[i];
    delete[]a;
 
system("pause");
return 0;
}
0
17.12.2018, 02:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2018, 02:49
Помогаю со студенческими работами здесь

Меняя местами столбцы матрицы, отсортировать по возрастанию ее первую строку
не пойму почему не сортируется первая строка по возрастанию. что не так делаю?? ...

Заданную группу элементов матрицы отсортировать по возрастанию или убыванию значений и найти максимальный и мини
Матрица \begin{vmatrix} 1 &amp; -3 &amp; 15 &amp; 1 \\ 6 &amp; 18 &amp; 13 &amp; -1 \\ 12 &amp; 14 &amp; -11 &amp; 5 \\ 1...

Отсортировать каждую строку матрицы по возрастанию
Можите кто-нибудь помочь решить? Срочно нада на завтра!!! Дана матрица целых чисел размером 4*3....

Отсортировать указанную строку матрицы по возрастанию
Помогите, пожалуйста, с написанием программы на языке Си. Текст задачи: &quot;Дана матрица...


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

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