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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
#1

Сортировка одномерного массива методом выбора - C++

09.01.2013, 02:04. Просмотров 1278. Ответов 5
Метки нет (Все метки)

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
#include <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
int  main()
{ int imin,i,j,buf;
    int s;
cout<<"vvedite razmer massiva ";
cin>>s;
 int *a = new int[s];
for ( i = 0; i < s; i++)
    {
       a[i]=rand() % 100; 
       cout<<a[i]<<"   ";
    }
for ( i = 0; i < s; i++)
{ imin = i;
for ( j = i+1; j < s; j++)
     if(a[j]< a[imin])
                imin = j;
}
if(imin != i)
        {
            buf = a[imin];
            a[imin] = a[i];
            a[i] = buf;
        }
cout<<"Sorted array               ";
for ( i = 0; i < s; i++);
cout<<a[i]<<" ";
system("pause");
return 0;
}
вот написал программу которая сортирует одномерный массив по возрастанию методом выбора , но после сортировки выводит почему то только последнее число (самое большое в массиве), а предыдущих нету
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 02:04     Сортировка одномерного массива методом выбора
Посмотрите здесь:

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

Сортировка массива методом выбора - C++
Помогите, пожалуйста!в сишке я не особо разбираюсь... вот задание: Отсортировать элементы массива по возрастанию методом выбора....

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

Сортировка массива методом выбора - C++
Добрый вечер!!! В данном коде идет сортировка массива методом шелла Нужно переделать ее как сортировку методом выбора... Помогите...

Сортировка массива методом выбора - C++
Доброго времени суток, форумчане! void sortar(int *a, int N) { int fl, i, j, temp = 0; do { fl = 1; for (i = 0; i &lt; N;...

Сортировка массива методом прямого выбора - C++
Объясните пожалуйста как работает эта программа. Задание: Массив из 5 целых чисел заполнить с клавиатуры. Произвести сортировку...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
09.01.2013, 06:32     Сортировка одномерного массива методом выбора #2
См комментарии:
Цитата Сообщение от илья1995 Посмотреть сообщение
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
#include <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
int main()
{ int imin,i,j,buf;
 int s;
cout<<"vvedite razmer massiva ";
cin>>s;
 int *a = new int[s];
for ( i = 0; i < s; i++)
 {
 a[i]=rand() % 100; 
 cout<<a[i]<<" ";
 }
for ( i = 0; i < s; i++)
{ imin = i;
for ( j = i+1; j < s; j++)
 if(a[j]< a[imin])
 imin = j;
}// эту фигурную скобку отсюда убрать
if(imin != i)
 {
 buf = a[imin];
 a[imin] = a[i];
 a[i] = buf;
 }
// и вставить сюда
cout<<"Sorted array ";
for ( i = 0; i < s; i++);// отсюда убрать последний оператор ;
cout<<a[i]<<" ";
system("pause");
return 0;
}
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
09.01.2013, 10:22  [ТС]     Сортировка одномерного массива методом выбора #3
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 <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
int main()
{ int imin,i,j,buf;
 int s;
cout<<"vvedite razmer massiva ";
cin>>s;
 int *a = new int[s];
for ( i = 0; i < s; i++)
 {
 a[i]=rand() % 100; 
 cout<<a[i]<<" ";
 }
for ( i = 0; i < s; i++)
{ imin = i;
for ( j = i+1; j < s; j++)
 if(a[j]< a[imin])
 imin = j;
// эту фигурную скобку отсюда убрать
if(imin != i)
 {
 buf = a[imin];
 a[imin] = a[i];
 a[i] = buf;
 }
for ( i = 0; i < s; i++);// и вставить сюда
cout<<"Sorted array ";
// отсюда убрать последний оператор ;
cout<<a[i]<<" ";
system("pause");
return 0;
}
}
вот вроде бы исправил как сказали но не работает, точнее работает но неправильно выводит какой ответ неправильный
Миниатюры
Сортировка одномерного массива методом выбора  
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
09.01.2013, 16:40     Сортировка одномерного массива методом выбора #4
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
#include <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
int main()
{ int imin,i,j,buf;
 int s;
cout<<"vvedite razmer massiva ";
cin>>s;
 int *a = new int[s];
for ( i = 0; i < s; i++)
 {
 a[i]=rand() % 100; 
 cout<<a[i]<<" ";
 }
for ( i = 0; i < s; i++)
{ imin = i;
for ( j = i+1; j < s; j++)
 if(a[j]< a[imin])
 imin = j;
// эту фигурную скобку отсюда убрать
if(imin != i)
 {
 buf = a[imin];
 a[imin] = a[i];
 a[i] = buf;
 }
}// и вставить сюда
cout<<"Sorted array ";
for ( i = 0; i < s; i++)// отсюда убрать последний оператор ;
cout<<a[i]<<" ";
system("pause");
return 0;
}
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
09.01.2013, 16:49  [ТС]     Сортировка одномерного массива методом выбора #5
Цитата Сообщение от valeriikozlov Посмотреть сообщение
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
#include <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
int main()
{ int imin,i,j,buf;
 int s;
cout<<"vvedite razmer massiva ";
cin>>s;
 int *a = new int[s];
for ( i = 0; i < s; i++)
 {
 a[i]=rand() % 100; 
 cout<<a[i]<<" ";
 }
for ( i = 0; i < s; i++)
{ imin = i;
for ( j = i+1; j < s; j++)
 if(a[j]< a[imin])
 imin = j;
// эту фигурную скобку отсюда убрать
if(imin != i)
 {
 buf = a[imin];
 a[imin] = a[i];
 a[i] = buf;
 }
}// и вставить сюда
cout<<"Sorted array ";
for ( i = 0; i < s; i++)// отсюда убрать последний оператор ;
cout<<a[i]<<" ";
system("pause");
return 0;
}
спасибо сейчас все работает, а ваши Коментарии нужно исправлять сейчас?

Добавлено через 6 минут
я так понял дело было в 1 фигурной скобке
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2013, 17:09     Сортировка одномерного массива методом выбора
Еще ссылки по теме:

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

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

Сортировка двумерного массива методом Выбора. Select sort - C++
Задание: Упорядочить каждую строку матрицы по убыванию. Отсортировал пузырьком, а вот &quot;Выбором&quot; никак. Весь день убил на это. Возможно,...

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

Сортировка одномерного массива методом обмена ("пузырьком") - C++
Имеется одномерный массив размерностью n, заполняемый генератором случайных чисел. Результат выводится на экран в 5 столбцов. Нужно...

Сортировка методом выбора и методом пузырьков - C++
Доброго времени суток, форумчане). Я не спец в программировании, сразу говорю). Нам с другом дали задание сравнить эти 2 сортировке ( в...


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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
09.01.2013, 17:09     Сортировка одномерного массива методом выбора #6
Цитата Сообщение от илья1995 Посмотреть сообщение
а ваши Коментарии нужно исправлять сейчас?
можете их удалить
Yandex
Объявления
09.01.2013, 17:09     Сортировка одномерного массива методом выбора
Ответ Создать тему
Опции темы

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