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

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

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

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

25.02.2014, 15:42. Просмотров 238. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2014, 15:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите найти ошибку в функции сортировки выбором (C++):

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

Помогите найти ошибку в программе вычисления значения функции - C++
Написал программу, ругается я так понимаю на модуль, хотя библиотеку я подключил, помогите... Вот код: #include &lt;iostream&gt; #include...

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

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

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

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

2
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] и прекращает свою работу
1
Valera1984
1 / 1 / 0
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2014, 16:09
Привет! Вот еще темы с ответами:

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

Помогите найти ошибку: По двум сторонам и углу найти все остальное - C++
Доброго времени суток. В универе дали задание написать программу &quot;По двум сторонам и углу между ними в треугольнике АВС найти два остальных...

Исправить код сортировки выбором - C++
Реализуйте алгоритм на языке Си, добавив в программу подсчет количества сравнений и перестановок, проведенных алгоритмом. Выполните...

Метод сортировки прямым выбором - C++
Привет всем. Есть код программы которая сортирует по возрастанию методом прямого выбора. При выводе отсортированного массива, она выводит 1...


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

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

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