Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
UANana
0 / 0 / 0
Регистрация: 23.03.2014
Сообщений: 2
1

Сгенерировать неупорядоченный массив целых чисел от 1 до N

23.03.2014, 16:22. Просмотров 987. Ответов 2
Метки нет (Все метки)

Описание.
Написать функцию, принимающую на вход произвольное целочисленное значение и возвращающую массив, содержащий последовательность чисел от 1 до этого значения, в котором каждое число последовательности находится в заведомо случайной позиции.
Ожидаемый результат.
Например, 2 последовательных запуска данной функции с параметром 7 могут сгенерировать последовательности вида
{2, 5, 7, 3, 4, 1, 6}
{5, 1, 3, 4, 6, 2, 7}

Я написал алгоритм, но моя проблема заключается в следующем. При последовательном запуске функции, он выводит одно и тоже, то есть последовательности одинаковы. При перекомпиляции,функция работает так как нужно, но если запустить функцию 2 и более раз подряд, то выводит одно и тоже. Нужен совет как это пофиксить.
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
42
43
44
45
46
 #include "stdafx.h"
#include <iostream>
#include <ctime>
#include <cstdlib>
 
void GenerateRandomArray(
    int *_result,
    unsigned int _maxValue
    )
{
    
    srand(time(NULL));
    int sz=_maxValue;   
    _result=new int[sz];
    int value=0;
    int check;
    
 
    for(int i=0;i<sz;i++){
        for(;;){
            value=rand()%sz;
            check=0;
            for(int j=0;j<i;j++){
                if(value==_result[j]){  check=101;break; }
            }
            if(!check){break;}
        }
        _result[i]=value;
    }
    std::cout<<" GENERATE: "<<std::endl;
    for(int i=0;i<sz;i++){
        std::cout<<_result[i]<<" ";
    }
    delete [] _result;
    std::cout<<std::endl;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    int arrayG[1];
    unsigned int size;
    std::cout<<" Enter Size: ";std::cin>>size;
    GenerateRandomArray(arrayG,size);std::cout<<std::endl;//
    system("pause");    
    return 0;
}
Приношу извинения за не столь аккуратное форматирование. У меня дебют на данном форуме, надеюсь удачный.Ниже приведены результаты:
1. запуск функции 1 раз;
2. 2 последовательных запуска функции.
Приму любую помощь, так как нужно сдать вовремя.
0
Миниатюры
Сгенерировать неупорядоченный массив целых чисел от 1 до N   Сгенерировать неупорядоченный массив целых чисел от 1 до N  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2014, 16:22
Ответы с готовыми решениями:

Дан неупорядоченный массив целых чисел. Найти самый длинный участок строгого возрастания, напечатать индексы
Дан неупорядоченный массив целых чисел. Найти самый длинный участок строгого...

Сгенерировать массив целых случайных чисели написать функцию SORT
Сгенерировать массив целых случайных чисел. Диапазон значений и количество...

Задан массив K(m) попарно различных целых чисел. Получить все перестановки целых чисел
Помогите пожалуйста с программой. Задан массив K(m) попарно различных целых...

Сгенерировать массив чисел от 0 до 50 и определить количество четных и нечетных чисел в этом массиве
С помощью функции random(n) сгенерировать массив чисел от 0 до 50 и определить...

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
помогите!!!((( дан массив целых чисел,произвести для него следующие операции:...

2
Somebody
2799 / 1610 / 251
Регистрация: 03.12.2007
Сообщений: 4,213
Завершенные тесты: 3
23.03.2014, 18:36 2
srand убери из функции.
0
big_boom
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
23.03.2014, 18:54 3
srand из функции перенеси в main
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2014, 18:54

Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел
Преобразовать одномерный массив вещественных случайных чисел в массив целых...

Случайным образом сгенерировать массив из 20 чисел (в заданном диапазоне)
Создать программу на С++, в которой случайным образом генерируется массив из 20...

Сгенерировать массив из N случайных чисел, принадлежащих указанному диапазону
1) Написать функцию, генерирующую массив из N случайных чисел, принадлежащих...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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