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

Сортировка массива по возрастанию + поиск дубликатов - C++

Восстановить пароль Регистрация
 
C_01
Сообщений: n/a
26.10.2012, 09:45     Сортировка массива по возрастанию + поиск дубликатов #1
Добрый день
Я новичек подскажите плиз, почему когда помещаю в массив случайные числа, они потом с каждым новым запуском программы одинаковые? Дело в том, что нужно написать программу, которая генерирует сперва для массива случайные числа, потом упорядочивает их, а потом ищет дубликаты, но т.к. rand(), как я понял, генерирует числа только один раз после компиляции, то пользы от rand() в данном случае нет? Или я туплю?
Вот исходный код программы:
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
39
40
41
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main () {
int mas[10];
int i,j,f, n;
 
for (i=0; i<=9; i++)// 1. присваиваю случайные значения массиву
{
    mas[i] = rand();
    cout << i << " element is " << mas[i] << endl;
}
 
for(f=0; f<4; f++) /* 2. цикл повторяется столько раз, сколько нужно,
чтобы все смежные переменные были отсортированы по порядку*/
{
for (i=1; i<10; i++)//2.1 цикл меняет местами смежные переменные
{
if (mas[i] < mas[i-1])
{j = mas[i-1];
mas[i-1]=mas[i];
mas[i]=j;
}}}
 
for (i=0; i<10; i++)// 3. цикл выводит отсортированный список переменных
{
cout << mas[i] << " ";
}
 
for (i=1; i<=9; i++)// 4. цикл для поиска дубликатов в массиве
{
    for(n=1; n<=i; n++)
    {
        if(mas[i] == mas[i-n])
        {
            cout << i << " element massiva" << " = " << i-n << "u elementu massiva = " << mas[i] << endl;
 }}}
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2012, 09:45     Сортировка массива по возрастанию + поиск дубликатов
Посмотрите здесь:

C++ Сортировка массива по возрастанию
C++ Сортировка двумерного массива по возрастанию
C++ Сортировка массива по возрастанию
C++ Сортировка массива структур по возрастанию
C++ Сортировка одномерного массива по возрастанию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Joeymax
883 / 278 / 39
Регистрация: 31.03.2012
Сообщений: 743
26.10.2012, 10:00     Сортировка массива по возрастанию + поиск дубликатов #2
man random не помогло?
mrmaster88
42 / 42 / 3
Регистрация: 13.04.2012
Сообщений: 112
26.10.2012, 10:02     Сортировка массива по возрастанию + поиск дубликатов #3
всё правильно, в rand числа псевдослучайные
C_01
Сообщений: n/a
26.10.2012, 10:22     Сортировка массива по возрастанию + поиск дубликатов #4
srand(time(NULL)) помолго
а в чем суть man random?
Joeymax
883 / 278 / 39
Регистрация: 31.03.2012
Сообщений: 743
26.10.2012, 10:44     Сортировка массива по возрастанию + поиск дубликатов #5
Попробуй следующее:
C++
1
2
3
4
5
6
int main(void){
  srand(time(NULL));
  for (int i=0; i<10; i++)
    std::cout <<rand() << std::endl;
   return 0;
}
Не успел, в ней же ссылке на srand
Yandex
Объявления
26.10.2012, 10:44     Сортировка массива по возрастанию + поиск дубликатов
Ответ Создать тему
Опции темы

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