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

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

Войти
Регистрация
Восстановить пароль
 
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
#1

Реализация сортировки выбором - C++

06.05.2012, 16:39. Просмотров 712. Ответов 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
#include <stdio.h>
#include <conio.h>
 
#define MAX 50
 
main(){
    int m[MAX], n, i, j, t;
    printf("N = "); scanf("%i",&n);
    printf("M:\n");
    for(i=0; i<n; i++){
        printf("m[%i] = ",i);
        scanf("%i",&m[i]);
        if(m[i]==0) break;
    }
    for(i=0; i<n; i++){
        for(j=i+1; j<n; j++){
            if(m[i]>m[j]){
                t = m[j];
                m[j] = m[i];
                m[i] = t;
                printf("%i  ",m[i]);
            }
        }
    }
    printf("\nIspolzovan algoritm obmenom");
    getch();
    return 0;
}
Работать не хочет - не сортирует и не выводит на экран ничего. Помогайте, комрады
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2012, 16:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализация сортировки выбором (C++):

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

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

Примеры реализации сортировки выбором - C++
Дайте плиз пару примеров по (Selection sort) в принципе работы разобрался...(кажется)... щас хотел бы на каком нибудь примере понять. ...

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

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

Функция для сортировки массива выбором - C++
Добрый день всем, на сегодня лабораторная нужна, но не могу понять как реализовать этот код За ранее благодарен кто откликнется!!! ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ExcellencE
20 / 20 / 2
Регистрация: 22.08.2011
Сообщений: 79
06.05.2012, 17:02 #2
C++
1
#include "stdafx.h"
- вот это нужно если в VS пишете


int main() - а вот это нужно в любом случае
1
Van111
кодер с++
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
06.05.2012, 17:11 #3
пузырьковка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void selection_sort(int *tr, const int sz)
{
int tmp;
int is=1
while(is)
{
is=0;
for (int i=1;i<=sz;i++)
{
        
        if (tr[i] < tr[i-1])
        {
        tmp=tr[i-1];
        tr[i-1]tr[i];
        tr[i],tmp;
        is=1;
        }
}
}    
   
    
}
1
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
06.05.2012, 17:14  [ТС] #4
Цитата Сообщение от ExcellencE Посмотреть сообщение
C++
1
#include "stdafx.h"
- вот это нужно если в VS пишете
Не нужно, я не в VS пишу.

Цитата Сообщение от ExcellencE Посмотреть сообщение
int main() - а вот это нужно в любом случае
Нет, так как main ничего в итоге не возвращает, ибо мне это не нужно.
Единственное, что в это программе не правильно - алгоритм:
C++
1
2
3
4
5
6
7
8
9
10
for(i=0; i<n; i++){
        for(j=i+1; j<n; j++){
            if(m[i]>m[j]){
                t = m[j];
                m[j] = m[i];
                m[i] = t;
                printf("%i  ",m[i]);
            }
        }
    }
Его править и нужно.




Van111, спасибо, но пузырьком не подходит + нет вывода на экран действий, которые алгоритм проводит.
0
ExcellencE
20 / 20 / 2
Регистрация: 22.08.2011
Сообщений: 79
06.05.2012, 17:23 #5
deepLulz, как знаете, но у меня с этими исправлениями заработало. (Хоть и неправильно)
1
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
06.05.2012, 17:30  [ТС] #6
ExcellencE, у меня и без "исправлений" работает, хоть и не правильно
0
ExcellencE
20 / 20 / 2
Регистрация: 22.08.2011
Сообщений: 79
06.05.2012, 17:57 #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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
 
#define MAX 50
 
int main()
{
    int m[MAX], n, i, j, t;
    printf("N = "); scanf("%i",&n);
    printf("M:\n");
    for(i=0; i<n; i++){
        printf("m[%i] = ",i);
        scanf("%i",&m[i]);
        if(m[i]==0) break;
    }
    printf("\n");
 
    for(i=0; i<n; i++){
        for(j=i+1; j<n; j++){
            if(m[i]>m[j]){
                t = m[j];
                m[j] = m[i];
                m[i] = t;
                printf("%d ---  ", m[i]);
                for(int z =0; z<n; z++) printf("%d  ", m[z]);
                printf("\n");
            }
        }
    }
    printf("\n\nIspolzovan algoritm obmenom\n");
    for(i=0; i<n; i++) printf("%d ", m[i]);
    getch();
    return 0;
}
ммм??
1
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
06.05.2012, 18:03  [ТС] #8
ExcellencE, а вот теперь спасибо, большое спасибо!
Сейчас чуть-чуть наведу красоту и отлично!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 18:03
Привет! Вот еще темы с ответами:

Сравнение алгоритмов сортировки (выбором и пузырьком) - C++
создать программу для сравнения алгоритмов сортировки (Выбором и Пузырьком)т.е. чтоб выдавал время построения массива.Помогите очень...

Помогите найти ошибку в функции сортировки выбором - C++
Хотел реализовать так чтобы в функции шла сортировка выбором но когда хочу чтоб на экран вывелся весь отсортированный массив то выводиться...

Метод сортировки выбором счётчик количества итераций C++ - C++
Программа должна сортировать массивы размером 10 и 100 методом выбора и показывать эффиктивность в отношении с теорией. А теория говорит о...

Написать функцию сортировки выбором для заданного массива - C++
Задается массив из n точек на плоскости .Написать функцию сортировки выбором для заданного массива( сортировка массива точек по...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.05.2012, 18:03
Ответ Создать тему
Опции темы

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