Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 14:26   #1
FroLe
 
Регистрация: 28.11.2010
Сообщений: 6
По умолчанию Сортировка пузырьком с++

Сортировка пузырьком, все работает, но помогите поменять ввод цифр в ручную на ввод цифр рандома (от -100 до +100).
Код:
#include <iostream>
using namespace std;
// наш массив
int array[100];
// сортировка
void*Sort(int col) 
{ 
    // временная переменная для хранения промежуточного результата
    int trash=0;  
    // пока не равно количеству елементов
    for (int i=1; i<=col ; i++)
    {
        // пока не равно col-i
        for (int j=1; j<=col-i; j++) 
        {
            // если левый элемент больше
            if (array [j]>array [j+1]) 
            {
                // правого, то меняем их местами
                trash=array[j]; 
                array [j]=array [j+1];
                array [j+1]=trash;
            }
        }
    }
}
// вывод на экран нашего массива после сортировки
void*Out(int col) 
{
    for (int i=1; i<=col; i++) 
    cout << array [i] <<" ";
    cout << endl; 
}
int main()
{
    int col_el;
    cout << " Enter length of array"<< endl;
    // считываем количество элементов
    cin >> col_el;
    // считываем элементы массива
    for (int n=1; n<=col_el ; n++) 
    cin >> array[n];
    Sort(col_el); 
    // сортируем их
    cout << "Result is :"<<endl; 
    // и выводим  
    Out(col_el);
    // ждем нажатия клавиши
    cin >> col_el; 
    return 0;
}
FroLe вне форума Ответить с цитированием
Старый 19.12.2010, 15:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include <stdlib.h>
Код:
   
srand(1000);
for (int n=1; n<=col_el ; n++) 
   array[n]=rand()%100;
Это если не опшибаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.12.2010, 16:04   #3
FroLe
 
Регистрация: 28.11.2010
Сообщений: 6
По умолчанию

пасиб, только мне нужен рандом из масива -100 до 100, выходит так
Код:
array[n]=rand()%201-100;
FroLe вне форума Ответить с цитированием
Старый 19.12.2010, 17:55   #4
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

а еще, чтобы алгоритм был не псевдослучаен, подключите <time.h> и замените srand(1000); на srand(time(0));
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 19.12.2010, 18:55   #5
FroLe
 
Регистрация: 28.11.2010
Сообщений: 6
По умолчанию

а сложно будет разпарелелить такую программу в несколько потоков? кто поможет?))

Последний раз редактировалось FroLe; 20.12.2010 в 01:24.
FroLe вне форума Ответить с цитированием
Старый 19.12.2010, 21:50   #6
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Если с помощью OpenMP, то вроде несложно.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 20.12.2010, 01:23   #7
FroLe
 
Регистрация: 28.11.2010
Сообщений: 6
По умолчанию

с помощью библиотеки pthreads)
нужно что б 1 поток сортировал с -100 до 0 , второй поток сортировал с 1 до 100, а в главном потоке идет ввод и вывод данных

Последний раз редактировалось FroLe; 20.12.2010 в 10:32.
FroLe вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шейкер-сортировка пузырьком Biker29 Общие вопросы Delphi 2 11.12.2010 22:56
Сортировка пузырьком Авторитет Общие вопросы .NET 4 15.11.2010 19:50
Сортировка пузырьком на итераторах SimplyLesya Общие вопросы C/C++ 1 18.09.2010 22:50