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

Сортировка массива - в чем ошибка?

28.08.2015, 00:16. Показов 534. Ответов 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
#include <iostream>
using std::cout;
using std::endl;
 
#include <iomanip>
using std::setw;
 
void sortirovka(int [], const int);
 
int main()
{
    const int size = 10;
    int mas[10] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
 
    for (int num = 0; num < size; num++)
        cout << setw(4) << mas[num];
 
    sortirovka(mas, size);
 
    for (int num = 0; num < size; num++)
        cout << setw(4) << mas[num];
 
    return 0;
}
 
void sortirovka(int massiv[], const int sizeMas) // сортировка массива
{
    int smalest, index;
 
    for (int num = 0; num < sizeMas - 1; num++)
    {
        smalest = massiv[num];
 
        for (int x = num + 1; x < sizeMas; x++)
        {
            if (smalest > massiv[x])
            {
                smalest = massiv[x];
                index = x;
            }
        }
 
        massiv[index] = massiv[num];
        massiv[num] = smalest;
    }
}
Добавлено через 7 минут
Всё сам понял)) Как удалить тему?

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>
using std::cout;
using std::endl;
 
#include <iomanip>
using std::setw;
 
void sortirovka(int [], const int);
 
int main()
{
    const int size = 10;
    int mas[10] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
 
    for (int num = 0; num < size; num++)
        cout << setw(4) << mas[num];
 
    cout << endl;
 
    sortirovka(mas, size);
 
    for (int num = 0; num < size; num++)
        cout << setw(4) << mas[num];
 
    cout << endl;
 
    return 0;
}
 
void sortirovka(int massiv[], const int sizeMas) // сортировка массива
{
    int smalest, index, kof = 0;
 
    for (int num = 0; num < sizeMas - 1; num++)
    {
        smalest = massiv[num];
 
        for (int x = num + 1; x < sizeMas; x++)
        {
            if (smalest > massiv[x])
            {
                smalest = massiv[x];
                index = x;
                kof = 1;
            }
        }
 
        if (kof == 1)
        {
            massiv[index] = massiv[num];
            massiv[num] = smalest;
            kof = 0;
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2015, 00:16
Ответы с готовыми решениями:

Сортировка одномерного массива. В чем ошибка?
Такая вот ошибка: ОС Windows инициировала точку останова в МояПрограмма.exe. Это может быть...

Сортировка одномерного массива выбором - в чем ошибка
Всем привет. Пытаюсь написать алгоритм, который будет сортировать одномерный массив заданной длины:...

Сортировка пузырьком, в чем ошибка
Доброго времени суток. Язык изучаю недолго. В данном мне задании нужно, помимо прочего, применить...

В чем ошибка? Ссртировка выбором и сортировка вставкой
108-ая строка. error C2372: a: переопределение; различные типы косвенного обращения 110-ая строка....

1
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
28.08.2015, 01:14 2
Цитата Сообщение от Roman_88 Посмотреть сообщение
ищем самое маленькое число в массиве и помещаем в первый элемент массива, а первый элемент помещаем за место того элемента.
Этот алгоритм называется сортировкой выбором и выглядит он несколько проще.
C++
1
2
3
4
5
6
for (int i = 0; i < size - 1; ++i)
{
    for (int j = i+1; j < size; ++j)
        if (arr[i] > arr[j])
            std::swap(arr[i], arr[j]);
}
0
28.08.2015, 01:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2015, 01:14
Помогаю со студенческими работами здесь

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

Неверный размер массива. в чем ошибка?
int le( int array) { int i=0; while(array); return (i-1); } int main() {

В чем ошибка при передачи статического массива в функцию
Не кидайте камни за использование глобальных переменных и статических двумерных массивов. Вроде...

О чем говорит эта ошибка? Выход за пределы массива
main.cpp invalid operands of types `int' and `int' to binary `operator+' вот сам код: #include...


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

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