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

Заполнить массив неодинаковыми случайными числами - C++

Восстановить пароль Регистрация
 
anti-k
 Аватар для anti-k
226 / 74 / 23
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
30.07.2015, 00:06     Заполнить массив неодинаковыми случайными числами #1
нужно дополнить ф-кцию рандома так что бы заполнить массив не одинаковыми числами. Как прописать возвращение на внутренний цыкл, чтобы сново проверить выданный рандом??
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
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
int main(){ 
    srand(time(0));
    int arr[10];
    int a,b,k=0; 
    cin>>a; 
    cin>>b;
    cout<<endl;
    arr[0]=a+rand()%b;  
    cout<<arr[0];
    for(int i=1;i<10;i++){
        arr[i]=a+rand()%b;
        for(int j=0;j<i;j++){   
        if(arr[j]==arr[i])  
        arr[i]=a+rand()%b;
        }  
      cout<<" "<<arr[i];
    }
    
    system ("PAUSE");
    return 0;
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rikimaru2013
30.07.2015, 00:21
  #2

Не по теме:

вам самому то приятно читать такой код с таким форматированием текста?????

anti-k
 Аватар для anti-k
226 / 74 / 23
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
30.07.2015, 00:27  [ТС]     Заполнить массив неодинаковыми случайными числами #3
rikimaru2013, я совсем еще нулевый, посоветуйте как лучше форматировать, к стати задачу я решил. Отформатируйте как надо мое решение, будет мне примером в дальнейшем.
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
#include <iostream>
#include <windows.h>
#include <clocale>
#include <ctime>
using namespace std;
int main(){
    setlocale(LC_ALL,"rus");
    srand(time(0));
    int arr[10];
    int a,b,k=0; 
    cout<<"ââåäèòå Г*ГЁГ¦Г*ГѕГѕ ГЈГ°Г*Г*èöó Г°Г*Г*äîìГ*";
    cin>>a;
    cout<<"ââåäèòå âåðõГ*ГѕГѕ ГЈГ°Г*Г*èöó Г°Г*Г*äîìГ*";
    cin>>b;
    cout<<endl;
    arr[0]=a+rand()%b;  
    cout<<arr[0];
    for(int i=1;i<10;i++){
        arr[i]=a+rand()%b;
        for(int j=0;j<i;j++){
        //arr[i]=a+rand()%b;    
        if(arr[j]==arr[i]){
        
        arr[i]=0;   
        arr[i]=a+rand()%b;
        j=0;
        }
        }  
      cout<<" "<<arr[i];
    }
    
    system ("PAUSE");
    return 0;
}
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1855 / 1651 / 575
Регистрация: 14.05.2014
Сообщений: 4,726
Записей в блоге: 1
Завершенные тесты: 5
30.07.2015, 00:27     Заполнить массив неодинаковыми случайными числами #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
anti-k, судя по Вашему замыслу как-то так
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main()
{
    srand((unsigned)time(0));
    
    int arr[10];
    int a, b;
    bool is_unique;
    std::cin >> a; 
    do
        std::cin >> b; 
    while (b < 10);
    for (int i = 0; i < 10; ++i)
    {
        is_unique = true;
        int n = a + rand() % b;
        for (int j = 0; j < i; ++j)
            if (arr[j] == n)
            {
                is_unique = false;
                --i;
                break;
            }
            if (is_unique) arr[i] = n;
    }
    
    for (int i = 0; i < 10; ++i)
        std::cout << arr[i] << ' ';
    std::cout << std::endl;
    
    return 0;
}
anti-k
 Аватар для anti-k
226 / 74 / 23
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
30.07.2015, 00:32  [ТС]     Заполнить массив неодинаковыми случайными числами #5
Kerry_Jr, посмотрите на мое решение, ваше конечно красивее, но мое вроде тоже работает.
rikimaru2013
30.07.2015, 00:32
  #6

Не по теме:

Цитата Сообщение от anti-k Посмотреть сообщение
посоветуйте как лучше форматировать
просто зайдите в настройки IDE в раздел форматирования - поклацайте - выберите, что вам нравится. У каждого свой вкус и цвет, но что у вас это не код. Вы ж себе так глаза портите - читая это

anti-k
 Аватар для anti-k
226 / 74 / 23
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
30.07.2015, 00:33  [ТС]     Заполнить массив неодинаковыми случайными числами #7
rikimaru2013, rikimaru2013, На стройки IDE?? Это где мне идти?? ))
rikimaru2013
30.07.2015, 00:36
  #8

Не по теме:

Я бы вам посоветовал бы Visual Studio Community 2013 или 2015 - они бесплатны. Вы удивитесь насколько комфортно и легко работать в продукте, что делали для вас годами и предлагают бесплатно.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2015, 00:39     Заполнить массив неодинаковыми случайными числами
Еще ссылки по теме:

C++ Заполнить массив размером 10 случайными числами от 0 до 10
C++ Заполнить массив случайными числами в диапазоне

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

Или воспользуйтесь поиском по форуму:
anti-k
 Аватар для anti-k
226 / 74 / 23
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
30.07.2015, 00:39  [ТС]     Заполнить массив неодинаковыми случайными числами #9
rikimaru2013, Не знаю по какой причине, но я скачал Dev и так на нем и застрял. Вы думаете стоит поменять? И где вам лайк поставить, или же вы в этом не нуждаетесь )))
Yandex
Объявления
30.07.2015, 00:39     Заполнить массив неодинаковыми случайными числами
Ответ Создать тему
Опции темы

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