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

Сортировка методом пузырька(по убыванию) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 90, средняя оценка - 4.99
Dark0809
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 34
31.03.2011, 17:31     Сортировка методом пузырька(по убыванию) #1
Здравствуйте!Задача такая: Написать функцию, которая сортирует одномерный массив в порядке убывания методом пузырька. В основной программе вызвать эту функцию для двух разных массивов.
Вот мой код, но ничего не работает....((( прошу помочь исправить...заранее спасибо...
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int i,n,a,j[100];
main()
{
printf("vvedite kol-vo elementov: ");
scanf("%d",&n);
randomize();
for (i=0;i<n;i++)
{
a[n]=rand()%100-50;
printf("%5d",a[n]);
}
int a[100],j;
for(i=0; i<n; i++)
for (j=n-1; j>i; j--)
if(a[j-1]<a[j])
{
a[n]=a[j-1];
a[j-1]=a[j];
a[j]=a[n];
printf("otsortirovannyi massiv: %5d",a[j];}
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2011, 17:31     Сортировка методом пузырька(по убыванию)
Посмотрите здесь:

C++ Отсортировать одномерный массив действительных чисел методом пузырька (по убыванию)
C++ Отсортировать каждую строку матрицы по убыванию элементов методом пузырька
C++ Отсортировать массив по убыванию методом "пузырька
C++ Дан массив из N целых чисел. Отсортировать его по убыванию элементов методом пузырька
C++ Сортировка методом пузырька
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 17:35     Сортировка методом пузырька(по убыванию) #2
Почитайте про область видимости переменных.
Приведённый код не просто не работает, но и не компилируется. Я бы номера строк сказал, но тэги форматирования не удосужились использовать...
Dark0809
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 34
31.03.2011, 17:41  [ТС]     Сортировка методом пузырька(по убыванию) #3
Я бы не просил помочь, если бы знал что где исправить...
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 17:45     Сортировка методом пузырька(по убыванию) #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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int i,n,a,j[100];
main()
{
printf("vvedite kol-vo elementov: ");
scanf("%d",&n);
randomize();
for (i=0;i<n;i++)
{
a[n]=rand()%100-50;
printf("%5d",a[n]);
}
int a[100],j;
for(i=0; i<n; i++)
for (j=n-1; j>i; j--)
if(a[j-1]<a[j])
{
a[n]=a[j-1];
a[j-1]=a[j];
a[j]=a[n];
printf("otsortirovannyi massiv: %5d",a[j];}
getch();
return 0;
}
Добавлено через 13 секунд
Строка 12 откуда взялась?

Добавлено через 1 минуту
ДА и функции сортировки тут нет, только main.
Dark0809
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 34
31.03.2011, 17:47  [ТС]     Сортировка методом пузырька(по убыванию) #5
ну строка 12 a[n]=rand()%100-50; это я задаю случайный массив
а вот насчет функции , в этом проблема, не знаю как работать с помощью функций..
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 17:48     Сортировка методом пузырька(по убыванию) #6
А ещё, у меня такое ощущение, что это не пузырьковая сортировка.)
В пузырьковой соседние элементы сравниваются/переставляются.

Добавлено через 39 секунд
Цитата Сообщение от Dark0809 Посмотреть сообщение
это я задаю случайный массив
Нет. Это не так.
Почитай про область видимости переменных.
Dark0809
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 34
31.03.2011, 17:53  [ТС]     Сортировка методом пузырька(по убыванию) #7
Цитата Сообщение от Deviaphan Посмотреть сообщение
А ещё, у меня такое ощущение, что это не пузырьковая сортировка.)
В пузырьковой соседние элементы сравниваются/переставляются.
Поэтому я обратился сюда, чтобы показали как правильно будет -_-
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 17:55     Сортировка методом пузырька(по убыванию) #8
В пузырьковой сравнивают соседние элементы. http://ru.wikipedia.org/wiki/%D0%A1%...BA%D0%BE%D0%BC
Dark0809
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 34
31.03.2011, 18:01  [ТС]     Сортировка методом пузырька(по убыванию) #9
да,да я много читал инфы в интернете, после прочтения получился такой код, вы говорите что он неверен, поэтому я прошу написать как будет правильно..
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 18:02     Сортировка методом пузырька(по убыванию) #10
Приведённый псеводкод один к одному заменяется на операторы С++. Только скобочки расставить.
И вапще...
Dark0809
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 34
31.03.2011, 18:05  [ТС]     Сортировка методом пузырька(по убыванию) #11
С этим может быть разберусь, а вот как все это с помощью функции сделать я не знаю.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 18:07     Сортировка методом пузырька(по убыванию) #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Sort( int * array, int size )
{
    // Код сортировки
}
 
void main()
{
     const int size = ...;
     int array[size];
     ...
     Sort(array, size);
      ....
}
raskumar4ik
2 / 2 / 1
Регистрация: 31.03.2011
Сообщений: 18
31.03.2011, 18:07     Сортировка методом пузырька(по убыванию) #13
можно так

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
36
37
38
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
#include <stdlib.h>
 
 
int main()
{
 int mas[100],tmp,n,j=1;
 cout<<"input kol-vo elem: ";
 cin>>n;
 randomize();
 for (int i=0;i<n;i++)
   mas[i]=rand() %100-50;
 cout<<"\nbefor: ";
 for (int i=0;i<n;i++)
   cout<<mas[i]<<" ";
 while (j!=0)
 {
  for (int i=0;i<n-1;i++)
  {
   if (mas[i]<mas[i+1])
   {
    tmp=mas[i];
    mas[i]=mas[i+1];
    mas[i+1]=tmp;
    tmp=0;
    j++;
   }
   else j=0;
  }
 }
 cout<<"\nafter: ";
  for (int i=0;i<n;i++)
   cout<<mas[i]<<" ";
 getch();
}
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 18:10     Сортировка методом пузырька(по убыванию) #14
Цитата Сообщение от raskumar4ik Посмотреть сообщение
можно так
Низя.) По заданию надо в функцию вынести и два массива сортировать.
Dark0809
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 34
31.03.2011, 18:11  [ТС]     Сортировка методом пузырька(по убыванию) #15
Ладно, спасибо всем, пойду разбираться..

Добавлено через 40 секунд
Цитата Сообщение от Deviaphan Посмотреть сообщение
Низя.) По заданию надо в функцию вынести и два массива сортировать.
Печально(
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2011, 18:17     Сортировка методом пузырька(по убыванию)
Еще ссылки по теме:

C++ Сортировка методом пузырька(по убыванию) C++
Сортировка методом пузырька C++
C++ Отсортировать массив по убыванию методом пузырька

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

Или воспользуйтесь поиском по форуму:
raskumar4ik
2 / 2 / 1
Регистрация: 31.03.2011
Сообщений: 18
31.03.2011, 18:17     Сортировка методом пузырька(по убыванию) #16
Цитата Сообщение от Dark0809 Посмотреть сообщение
Ладно, спасибо всем, пойду разбираться..

Добавлено через 40 секунд

Печально(
+1...
и так все написал ))
Yandex
Объявления
31.03.2011, 18:17     Сортировка методом пузырька(по убыванию)
Ответ Создать тему
Опции темы

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