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

Помогите найти ошибку в функции сортировки выбором

25.02.2014, 15:42. Показов 367. Ответов 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
double aveg(double a[], double n)
{
    int temp;
    for(int i =0; i<n-1;i++)
        for (int j=i+1;j<n;j++)
        {
            if (a[j] < a[i])
            {
                temp = a[j];
                a[j] = a[i];
                a[i] = temp;
            }
            for (int i = 0;i<n;i++)
                return a[i];
}
 
}
int main()
{
    const int n =10;
    double a[n]; 
    for (int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    cout << "sort = " << aveg(a,n) << endl;
    return 0;
}
где я допускаю ошибку?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2014, 15:42
Ответы с готовыми решениями:

Помогите найти ошибку в программе сортировки массива
Помогите с++ срочно! не сортирует массив! // ConsoleApplication18.cpp: определяет точку входа...

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

Помогите найти ошибку в программе(нахождение периметра с помощью функции)
Изучаю функции, и в одном из упражнения самоучителя надо сделать прогу по нахождению периметра с...

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

2
Знаток
156 / 156 / 185
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
25.02.2014, 16:07 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
void aveg(double a[], double n)
{
* * int temp;
* * for(int i =0; i<n-1;i++)
* * * * for (int j=i+1;j<n;j++)
* * * * {
* * * * * * if (a[j] < a[i])
* * * * * * {
* * * * * * * * temp = a[j];
* * * * * * * * a[j] = a[i];
* * * * * * * * a[i] = temp;
* * * * * * }
* * * *
}
}
int main()
{
* * const int n =10;
* * double a[n]; 
* * for (int i=0;i<n;i++)
* * {
* * * * cin>>a[i];
* * }
* * cout << "sort = ";
aveg(a,n);
 for (int i=0;i<n;i++)
* * {
* * * * cout<<a[i]<<' ';
* * }
* * return 0;
}
Добавлено через 1 минуту
У тебя здесь ошибка "return a[i]"; твоя функция возвращает a[0] и прекращает свою работу
1
1 / 1 / 1
Регистрация: 02.02.2014
Сообщений: 105
25.02.2014, 16:09 3
uemaka,
Пример сортировки выбором
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
template< class T >
void selectSort(T* arr, int size) 
{
    T tmp;
    for(int i = 0; i < size; ++i) // i - номер текущего шага
    { 
        int pos = i; 
        tmp = arr[i];
        for(int j = i + 1; j < size; ++j) // цикл выбора наименьшего элемента
        {
            if (arr[j] < tmp) 
           {
               pos = j; 
               tmp = arr[j]; 
           }
        }
        arr[pos] = arr[i]; 
        arr[i] = tmp; // меняем местами наименьший с a[i]
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2014, 16:09
Помогаю со студенческими работами здесь

Метод сортировки выбором!!!
ВАРИАНТ 21 Написать программу, которая методом сортировки выбором сортирует введенный...

Метод сортировки выбором -2
Доброе время суток, Чтоб не засорять чужую тему с чужими задачи, решил создать новую. :) ...

Реализация сортировки выбором
Есть одномерный массив, который необходимо отсортировать по возрастанию алгоритмом выбора и...

Алгоритм сортировки выбором
Помогите написать сортировку Выбором на подобии этой: void Merging_Sort(int n, float *x) {...


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

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

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