Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
AlexEden
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 20
#1

Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код - C++

26.01.2014, 20:34. Просмотров 642. Ответов 4
Метки нет (Все метки)

Моя задача отсортировать массив методом выбора минимального элемента. Он заключается в следующем. Ищем в массиве минимальный элемент и ставим его на первое место. Затем из оставшихся элементов также ищем минимальный и ставим на следующее место и т.д. Я написал код, программа запускается, но дело в том, что в отсортированном массиве постоянно вместо какого-либо элемента мне помещается вот это: "-858993460". Вот код:

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
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
 
 
using namespace std;
 
 
const int n = 5;
 
 
int main()
 
{
    setlocale (LC_ALL, "Russian");
 
    int i, j, nmin, a[n], c;
 
    srand (time (NULL));
 
    for (i = 0; i < n; i++)
    {
        a[i] = -10 + rand()%20;
 
        cout << "a[" << i << "] = " << a[i] << endl;
    }
 
    for (i = 0; i < n-1; i++)
    {
        nmin = a[i];
 
        for (j = i + 1; j < n - 1; j++)
                if (a[j] < a[nmin])
                    nmin = j;
 
       if (nmin != i)
       {
        c = a[i];
        a[i] = a[nmin];
        a[nmin] = c;
       }
        
    }
    
    cout << "Отсортированный массив:" << endl;
 
    for (i = 0; i < n; i++)
    {
        cout << "a[" << i << "] = " << a[i] << endl;
    }
 
    getch();
    return 0;
}
У меня просьба проверить его на ошибки.
И вот скриншоты того, что выдает программа.

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

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

У меня просьба не просто написать мне код, а объяснить. Заранее благодарю вас!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2014, 20:34     Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код
Посмотрите здесь:

Выполните сортировку вещественного массива методом выбора - C++
Помогите пожалуйста решить пару задач по C++! 1)Выполните сортировку вещественного массива методом выбора: выбирается наименьший элемент...

1 Отсортировать по возрастанию (методом выбора). 2 добавление, удаление, редактирование элемента списка (на С без плюсов). - C++
Здравствуйте! Помогите пожалуйста с 2 заданиями на С (без плюсов). Первое пробовал делать, но дальше ввода массива не доходило, если ещё...

Упорядочить элементы массива по возрастанию методом выбора - C++
3)упорядочить элементы массива по возрастанию методом выбора.

Упорядочить элементы массива по возрастанию методом выбора - C++
2. Дана целочисленная квадратная матрица. Определить: • упорядочить элементы массива по возрастанию методом выбора.

Отсортировать по возрастанию отрицательные элементы массива методом выбора - C++
Дан целочисленный массив A(n) с элементами, сгенерированными случайными числами в диапазоне (-20, 20). Требуется.Отсортировать по...

Отсортировать по возрастанию элементы массива с четными номерами методом выбора - C++
Дан целочисленный массив с элементами от -20 до 20. Отсортировать по возрастанию элементы массива с четными номерами (метод выбора)

Отсортировать по возрастанию элементы массива, с четными номерами методом выбора - C++
Дан целочисленный массив с элементами от -20 до 20. Отсортировать по возрастанию элементы массива, с четными номерами методом выбора. ...

Задача на сортировку массива методом вставки на С++ - C++
Помогите, пожалуйста, решить задачу. Отсортируйте по возрастанию методом вставки одномерный целочисленный массив, введенный с клавиатуры....

Отсортировать элементы массива по возрастанию если номер минимального элемента меньше заданного - C++
Не смог справится с данными заданиями, может кто объяснит и приведет пример, буду очень благодарен вам граждане. Задача: Задать...

Задача на рекурсию - почему вроде бы ошибочный код внутри работает правильно? - C++
Изучаю учебник C++, решаю задачки в конце глав. В одной задачке надо было написать рекурсивную функцию, получающую в качестве...

Отсортировать массив методом минимального элемента и методом пузырька - C++
Друзья помогите! Очень мало времени на поиски подобного на сайте... А (100) -Случайные числа. Отсортировать массив методом минимального...

Сортировать массив по возрастанию методом выбора - C++
Дан одномерный массив из n (n≤104) элементов a1,a2,…,an.( |ai|≤2×109). Сортировать по возрастанию методом выбора. Алгоритм сортировки...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
26.01.2014, 20:47     Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ответь сам себе на вопрос, что такое nmin и найдёшь ошибку!

Добавлено через 2 минуты
Строка nmin=a[i] заменить на nmin=i
AlexEden
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 20
26.01.2014, 20:56  [ТС]     Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код #3
Я поменял. Ошибку понял, но программа все равно работает неправильно по какой-то причине. Вот результат:Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
26.01.2014, 21:06     Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
j<n
AlexEden
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 20
26.01.2014, 21:19  [ТС]     Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код #5
Огромнейшее тебе спасибо! А теоретически, думаю, я сам уже разберусь! Ещё раз спасибо тебе!
Yandex
Объявления
26.01.2014, 21:19     Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код
Ответ Создать тему
Опции темы

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