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

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

Восстановить пароль Регистрация
 
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
25.02.2014, 15:42     Помогите найти ошибку в функции сортировки выбором #1
Хотел реализовать так чтобы в функции шла сортировка выбором но когда хочу чтоб на экран вывелся весь отсортированный массив то выводиться только первый элемент
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;
}
где я допускаю ошибку?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2014, 15:42     Помогите найти ошибку в функции сортировки выбором
Посмотрите здесь:

C++ Метод сортировки выбором!!!
Метод сортировки выбором -2 C++
C++ Метод сортировки выбором счётчик количества итераций C++
C++ Реализация сортировки выбором
C++ Помогите найти ошибку в программе(нахождение периметра с помощью функции)
C++ Помогите найти ошибку в программе вычисления значения функции
C++ Метод сортировки прямым выбором
C++ Помогите найти ошибку в программе сортировки массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 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] и прекращает свою работу
Valera1984
1 / 1 / 0
Регистрация: 02.02.2014
Сообщений: 104
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]
    }
}
Yandex
Объявления
25.02.2014, 16:09     Помогите найти ошибку в функции сортировки выбором
Ответ Создать тему
Опции темы

Текущее время: 09:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru