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

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

Войти
Регистрация
Восстановить пароль
 
C_01
Сообщений: n/a
#1

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

26.10.2012, 09:45. Просмотров 608. Ответов 4
Метки нет (Все метки)

Добрый день
Я новичек подскажите плиз, почему когда помещаю в массив случайные числа, они потом с каждым новым запуском программы одинаковые? Дело в том, что нужно написать программу, которая генерирует сперва для массива случайные числа, потом упорядочивает их, а потом ищет дубликаты, но т.к. 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++
Есть код , а как его отсортировать по возрастанию #include&lt;iostream&gt; #include&lt;ctime&gt; using namespace std; int main() { const...

Сортировка массива по возрастанию - C++
Никак понять не могу! Как отсортировать массив по возрастанию!? Объявляю массив в виде глобальной переменной volatile unsigned char...

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

Сортировка массива по возрастанию - C++
Всем привет. Совсем недавно в C++. Выделяю динамическую память под массив в QT Creator и ввожу элементы массива с клавиатуры. В функции ...

Сортировка массива по возрастанию - C++
помогите пожалуйста определить массив из 70 вещественных чисел x=i*sin(i/20), i=1,2,...,70. отсортировать массив по возрастанию значений...

Сортировка массива по возрастанию - C++
Я новичок в программировании, помогите пожалуйсто отсортировать массив по возрастанию. Нужен какой нибудь пример.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Joeymax
891 / 286 / 39
Регистрация: 31.03.2012
Сообщений: 759
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?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2012, 10:44     Сортировка массива по возрастанию + поиск дубликатов
Еще ссылки по теме:

Сортировка массива по возрастанию - C++
Помогите пожалуйста, а то выходит какой-то бред. Нужно напистаь прогу, а именно: имеется двумерный массив размерностью NxN, где N = 11....

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

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

Сортировка массива по возрастанию - C++
Код работает через раз, иногда всё норм, иногда дублирует некоторые элементы (чаще всего два последних записывает одинаково), иногда вообще...


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

Или воспользуйтесь поиском по форуму:
Joeymax
891 / 286 / 39
Регистрация: 31.03.2012
Сообщений: 759
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     Сортировка массива по возрастанию + поиск дубликатов
Ответ Создать тему
Опции темы

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