0 / 0 / 0
Регистрация: 20.04.2018
Сообщений: 7
1

Сортировка массива (не могу найти ошибку)

20.04.2018, 10:09. Показов 863. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите фрагмент кода, который вводит NN целых чисел с помощью потока ввода в объявленный Вами встроенный одномерный массив, каждый раз упорядочивая полученное значение по возрастанию.
мой код,не все сортирует(
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
int N2;
    std::cout << "введите размерность массива  ";
    std::cin >> N2;
    int* mas2 = new int[N2];
    for (int i = 0; i < N2; i++)
    {
        std::cout << "введите элементы массива  ";  //заполняем
        std::cin >> mas2[i];
 
    }
        for (int j = 0; j < N2 - 1; j++)    //сортируем
        {
            int* pCur = mas2;
            int* pMin = pCur;   // стр.209
            int* pTmP = pCur + 1;
            for (int k = j + 1; k < N2; k++)
 
 
                if (*pMin > * pTmP)
                {
                    pMin = pTmP;
                    pTmP++;
                }
            int tmp2 = *pMin;// обмен местами
            *pMin = *pCur;
            *pCur = tmp2;
            pCur++;
        }
 
    
    
    for (int i = 0; i < N2; i++)
    {
        std::cout << mas2[i]<<" ";
    }
stop
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2018, 10:09
Ответы с готовыми решениями:

Сортировка двумерного массива. Не могу найти ошибку
Привет. Помогите найти ошибку. Задача такая: двумерный массив отсортировать по строкам, что бы в...

Гномья сортировка. Не могу найти ошибку
Сделал гномью сортировку для массива(можно вводить только числа). Но написать программу для...

Быстрая сортировка. Не могу найти ошибку!.
Написала вот такую программу, которая создает массив из случайных чилел, потом их сортирует....

Сортировка выборкой. Не могу найти ошибку
Помогите пожалуйста найти ошибку. Не могу понять где она, когда сортирую оно меняет все числа на...

3
47 / 31 / 21
Регистрация: 04.04.2016
Сообщений: 209
20.04.2018, 10:46 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
bool doChange(int* myArray, size_t myArraySize) { // Однократная сортировка пузырьком
bool wasChange = false;
if (myArraySize < 2) { return wasChange; }
for(int i = 0; i < myArraySize - 1; i++) {
  int temp;
  if(myArray[i] > myArray[i+1]) { 
    temp = myArray[i];
    myArray[i] = myArray[i+1];
    myArray[i+1] = temp;
    wasChange = true;
  }  
}
return wasChange;
}
 
while( !doChange(mas2, N2)) { ; } // Повторять, пока не будет отсортировано все, что можно
0
0 / 0 / 0
Регистрация: 20.04.2018
Сообщений: 7
20.04.2018, 12:28  [ТС] 3
Цитата Сообщение от Pink_Pank Посмотреть сообщение
if (myArraySize < 2)
а почему меньше 2х?
спасибо,но все таки у меня то что неправильно?Мне просто нужен метод выбора.
0
47 / 31 / 21
Регистрация: 04.04.2016
Сообщений: 209
20.04.2018, 16:43 4
Потому что если количество элементов меньше, чем два, то сортировать нечего.
А у тебя - ХЗ. Порой проще сделать с нуля, чем разобрать чье-то творчество.
1
20.04.2018, 16:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2018, 16:43
Помогаю со студенческими работами здесь

Блинная сортировка (не могу найти ошибку в коде)
#include &lt;stdio.h&gt; void flip(int *data, int m, int n) { int swap, i; for (i = m; i &lt; --n;...

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

Сортировка массива.найти ошибку
задача-найти в каждой строке максимальный элемент и вывести строки в порядке убывания. вроде бы все...

Сортировка массива (найти ошибку)
Добрый вечер. Такая задача: есть два массива $number и $route, количество элементов одинаковое,...


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

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

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