Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Naglse
0 / 0 / 1
Регистрация: 24.03.2018
Сообщений: 33
1

Сортировка простым выбором

23.06.2018, 23:27. Просмотров 764. Ответов 6
Метки нет (Все метки)

можете помочь,в чём ошибка?
сортировка методом простого выбора - по алгоритму(на си)
Код:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <limits.h>
#define N 10
void main ()
{
    int a[N]={1,3,5,9,3,2,4,2,3,9};
    int b[N];
    int i,j,f,max;
    max=a[0];
    f=0;
    for(i=0;i<(N-1);i++)
    {
        for(j=1;j<N;j++){//поиск максимального элемента
            if (a[j]>max)
                max=a[j];
                f=j;
        }//конец поиска
        b[i]=max;
        a[f]=INT_MIN;
    }
for(i=0;i<N;i++)
    printf("%d \t",b[i]);
}
0
Миниатюры
Сортировка простым выбором   Сортировка простым выбором  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2018, 23:27
Ответы с готовыми решениями:

Сортировка выбором
Напишите программу, реализующую сортировку выбором

Сортировка выбором
Нужно отсортировать массив по возрастанию #include&lt;stdio.h&gt; int main() { ...

Сортировка выбором
Вот код. Нужно лишь поменять так, чтобы сортировало четные элементы массива...

Сортировка выбором (2 в 1)
Пишу вот сортировку... выбором Должна быть по возрастанию и убыванию.. ! ...

Сортировка массива выбором
Вот программы на паскале, кто может преобразовать их в си? {Сортировка массива...

6
Biger18
151 / 143 / 87
Регистрация: 13.06.2018
Сообщений: 624
23.06.2018, 23:38 2
C
1
2
3
4
5
if (a[j]>max)
{
   max=a[j];
   f=j;
}
0
Naglse
0 / 0 / 1
Регистрация: 24.03.2018
Сообщений: 33
23.06.2018, 23:45  [ТС] 3
Biger18, не,такой же результат
0
Biger18
151 / 143 / 87
Регистрация: 13.06.2018
Сообщений: 624
23.06.2018, 23:48 4
Цитата Сообщение от Naglse Посмотреть сообщение
max=a[0];
f=0;
единожды?
1
Naglse
0 / 0 / 1
Регистрация: 24.03.2018
Сообщений: 33
23.06.2018, 23:51  [ТС] 5
Biger18,
единожды?
всмысле?
0
Ovederax
198 / 137 / 95
Регистрация: 30.04.2017
Сообщений: 292
24.06.2018, 13:20 6
Лучший ответ Сообщение было отмечено Naglse как решение

Решение

Naglse, Странный алгоритм, проще перекопировать весь массив a в b и сортировать на месте. Блок схема не доработана - не понятно откуда берется переменная f.
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
#include <stdio.h>
#include <limits.h>
#define N 10
 
int main ()
{
    int a[N]={1,3,5,9,3,2,4,2,3,9};
    int b[N];
    int i,j,f,max;
    
    for(i=0;i<N;i++)
    {
        f=0;
        max=a[0];
        //поиск максимального элемента
        for(j=1;j<N;j++)
        {
            if (a[j]>max)
            {
                max=a[j];
                f=j;
            }
        }
        b[i]=max;
        a[f]=INT_MIN;
    }
    for(i=0;i<N;i++)
        printf("%d \t",b[i]);
}
1
Naglse
0 / 0 / 1
Регистрация: 24.03.2018
Сообщений: 33
24.06.2018, 14:44  [ТС] 7
Ovederax, задание такое прост,менять нельзя,
а алгоритмы такие классные наш препод пишет))
я уже разобрался в этом
0
24.06.2018, 14:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2018, 14:44

Сортировка линейным выбором
Есть стек #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; typedef struct _Item {...

Сортировка выбором двунаправленного списка
Добрый день Есть часть кода отвечающая за сортировку двунаправленного списка...

Упорядочить массив (сортировка выбором)
Упорядочить массив, используя алгоритм сортировки выбором: отыскивается...


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

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

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