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

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

Войти
Регистрация
Восстановить пароль
 
6o6ep4ik
-9 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 175
#1

Сортировка массива - C++

10.12.2015, 19:57. Просмотров 157. Ответов 2
Метки нет (Все метки)

Нам задан числовой массив А[1:m, 1:n]. Нужно построить одномерный массив, в котором числа идут по определенному закону: >-10 и <10; >10; <-10; все остальные.
Если нужно сортировать одномерный массив, как это реализовать в 3 закона?
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include<iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    const int str = 3;
    const int stolb = 6;
    int mass[str][stolb] =
    {
        { 11,13,15,17,20,12 },
        { -8,8,7,-7,6,-6 },
        {-12,-11,-14,-13,-15,-17}
        
    };
    int temp;
    for (int i = 0; i <= (str*stolb); i++)
    {
        for (int i = 0; i<1; i++) // >-10 & <10
        {
            for (int j = 0; j<stolb - 1; j++)
            {
                if (mass[i][j]>mass[i][j + 1])
                {
                    temp = mass[i][j];
                    mass[i][j] = mass[i][j + 1];
                    mass[i][j + 1] = temp;
                }
            }
        }
 
        for (int i = 1; i < 2; i++) // >10
        {
            for (int j = 0; j<stolb - 1; j++)
            {
                if (mass[i][j]>mass[i][j + 1])
                {
                    temp = mass[i][j];
                    mass[i][j] = mass[i][j + 1];
                    mass[i][j + 1] = temp;
                }
            }
        }
 
        for (int i = 2; i < 3; i++) // <-10
        {
            for (int j = 0; j<stolb - 1; j++)
            {
                if (mass[i][j]>mass[i][j + 1])
                {
                    temp = mass[i][j];
                    mass[i][j] = mass[i][j + 1];
                    mass[i][j + 1] = temp;
                }
            }
        }
 
        for (int x = 0; x<stolb; x++)
        {
            for (int z = 0; z<1; z++)
            {
                if (mass[z][x]>mass[z][x + 1])
                {
                    temp = mass[z][x];
                    mass[z][x] = mass[z][x + 1];
                    mass[z][x + 1] = temp;
                }
            }
        }
 
    }
    cout << "После сортировки:""\n\n";
    for (int i = 0; i<str; i++)
    {
        for (int j = 0; j<stolb; j++)
        {
            cout << mass[i][j] << "\t";
        }
        cout << "\n\n";
    }
    int odnommass[str*stolb]; 
    int index = 0;
    for (int i = 0; i<=str; i++)
    {
        for (int j = 0; j<stolb; j++)
        {
            odnommass[index] = mass[i][j];
            index++;
        }
    }
    cout << "Одномерный массив ""\n\n";
    for (int i = 0; i<str*stolb; i++)
        cout << odnommass[i] << "\t";
    cout << "\n\n";
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2015, 19:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сортировка массива (C++):

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива - C++
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным элементом. Немогу понять как устоновить...

Сортировка массива: перенести положительные числа в начало, а отрицательные - в конец массива - C++
Дан вещественный массив A(N). Отсортировать его таким образом, чтобы все положительные числа находились в начале, а отрицательные - в конце...

Сортировка массива. Ошибка после ввода размерности массива - C++
подскажите почему после ввода размерности массива выдает ошибку #include&lt;iostream&gt; #include&lt;cstdlib&gt; #include&lt;conio&gt; using...

Сортировка массива структур через сортировку массива указателей - C++
Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку - помогите, пожалуйста. Код программы: ...

Сортировка массива, вместо массива выводит мусор - C++
Здравствуйте Уважаемые жители форума! Есть рабочий код сортируем массив выбором поиск наименьшего значения, но почему выводит какой то...

Указатели массива и сортировка массива - C++
Доброго времени суток, вот бьюсь над проблемой, нужна программа которая б сортировку динамического массива (ввод с клавиатуры) из 10...

2
nmcf
6203 / 5514 / 1931
Регистрация: 14.04.2014
Сообщений: 23,152
10.12.2015, 21:11 #2
Не надо его сортировать. Просто делаешь несколько проходов и в каждом выбираешь нужный диапазон, добавляя элементы в конец.
0
Dimension
Dimension
573 / 442 / 136
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
10.12.2015, 22:13 #3
под двумерный сам переделайте
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
#include <bits/stdc++.h>
using namespace std;
int main() {
    srand(time(0));
    const int S = 15;
    int a[15],smal=1,large=0;
    int b[15],c1=0,c2=0;
    for (int i = 0;i < S;i++) {
        a[i] = rand() % 20, cout << a[i] << " ";
        if (a[i] > 10)c1++;
        else c2++;
    }
    //cout <<endl<< c1 << " " << c2 << endl;
    cout << endl;
    int k1, k2;k1 = k2 = min(c1, c2);
    for (int i = 0;i < S;i++) {
        if (k1 && a[i] > 10)
            b[large] = a[i], k1--, large += 2;
        if (k2 && a[i] <= 10)
            b[smal] = a[i], k2--, smal += 2;
    }
    for (int i = 0;i < min(c2, c1) * 2;i++)
        cout << b[i] << " ";
    cin.get(), cin.get();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2015, 22:13
Привет! Вот еще темы с ответами:

Сортировка массива - C++
Нужно пересортировать массив 0 0 0 0 0 0 0 1 2 0 3 2 0 0 0 0 0 0 0 2 4 0 6 7 0 3 5 0 7 6 в массив

сортировка массива - C++
программа работает правильно, единственное нужно использовать сортировку (по убыванию как мне сказали) :) /*Задан неупорядоченный...

Сортировка массива - C++
Здравствуйте! Вот имею такую задачу: Дано 2 массива a b, написать программу, которая изменяет данные массивы, в соответствии с правилом:...

Сортировка массива - C++
Как можно сортировать массив по элементам определенной строки/столбца? Вот такой код слизал с Киберфорума: for(int i=0; i&lt;m; i++) ...


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

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

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