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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Vera_0709
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 11
#1

Как использовать генератор случайных чисел? - C++

29.12.2011, 19:54. Просмотров 1646. Ответов 8
Метки нет (Все метки)

Помогите, пожалуйста, разобраться и исправить программу .Как в этой программе добавить генератор случайных чисел? Объясните, пожалуйста, по строчкам, как работает программа, а то я не совсем понимаю.

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
include <iostream>
 
using namespace std;
 
int main()
{
int mas[20];
int buf;
cout<<" Vvedite 20 4isel v diapazone ot -10 do 10:"<<endl;
for(int i=0;i<20; i++)
{
        cin>>mas[i];
}
for(int a=0; a<20; a++)
{
for(int i=0;i<19; i++)
{
        if(mas[i]>mas[i+1])
        {
                buf=mas[i];
                mas[i]=mas[i+1];
                mas[i+1]=buf;
        }
}
}
cout<<" stroka otsortirovana: ";
 for(int i=0;i<20; i++)
        { cout<<mas[i]<<' ';
 }
 int l;
 cin>>l;
system ("pause");
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2011, 19:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как использовать генератор случайных чисел? (C++):

Генератор случайных чисел. Как прикрепить? - C++
Как к генератору случайных чисел прикрепить &quot;Введите размер массива&quot;? #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; ...

Как создать генератор случайных чисел - C++
Здравствуйте!Я работаю в dev c++ 4.9.9.2 киньте готовый исходник.Зарание спасибо!

Как сделать генератор случайных чисел? - C++
как правильно сделать генератор случайных чисел?? Приведите пожалуйста примеры??

Как создать генератор случайных чисел ? - C++
Доброго всем времени суток. У меня возник вопрос, как создать генератор случайных чисел. Написал такой код: a = rand() +...

Как сделать генератор случайных чисел? - C++
Привет всем. Возник очередной вопрос за это утро. Как сделать генератор случайных чисел? В учебнике написано так: &quot;Для этого...

Как написать генератор случайных чисел? - C++
Помогите, пожалуйста, написать такой код! Добавлено через 8 минут Только нужно, чтобы можно было указать, в каких пределах числа...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.12.2011, 20:04 #2
C++
1
2
3
4
5
6
7
8
9
#include <ctime>
#include <cstdlib>
#include <algorithm>
//...
template <class T> T gen() { return rand() % 21 - 10; }
//
srand(time(NULL));
int mas[20];
std::generate(mas, mas + 20, gen<int>);
Или
C++
1
2
3
4
5
6
7
#include <ctime>
#include <cstdlib>
//...
srand(time(NULL));
int mas[20];
for(int i = 0; i < 20; ++i)
    mas[i] = rand() % 21 - 10;
Добавлено через 1 минуту
Цитата Сообщение от Vera_0709 Посмотреть сообщение
Объясните, пожалуйста, по строчкам, как работает программа, а то я не совсем понимаю.
Что там объяснять, вводите массив, сортируете, выводите. Все.
Vera_0709
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 11
29.12.2011, 20:36  [ТС] #3
что означают эти строчки??
C++
1
2
3
4
5
6
7
for(int i=0;i<19; i++)
 {
 if(mas[i]>mas[i+1])
 {
 buf=mas[i];
 mas[i]=mas[i+1];
 mas[i+1]=buf;
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.12.2011, 20:41 #4
Сравниваются 2 элемента. Если один больше другого, то они обмениваются. Это стандартная, учебная сортировка.
Vera_0709
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 11
29.12.2011, 21:01  [ТС] #5
посмотрите, пожалуйста, прогу. вроде всё правильно, но только почему числа не меняются??
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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <ctime>
#include <cstdlib>
 using namespace std;
 int  main(void)
{
int mas[20], i, min;
int buf;
rand();
min=10;
//zapoln9em massiv
for (i=0;i<20;i++)
{mas[i]=rand()%21-10;}
 
//vb1vodim massiv
printf("massiv: \n");
for (i=0;i<20;i++)
{printf("%i ", mas[i]);
}
 
for(int a=0; a<20; a++)
{
for(int i=0;i<19; i++)
{
        if(mas[i]>mas[i+1])
        {
                buf=mas[i];
                mas[i]=mas[i+1];
                mas[i+1]=buf;
        }
}
}
 
//vb1vod obrabotannogo massiva
printf("\n Otsortirovannyi  massiv: \n");
for (i=0;i<20;i++)
{printf("%i ", mas[i]);
}
getch();
}
Vera_0709
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 11
04.01.2012, 23:34  [ТС] #6
что означает переменная i?
vetal10
35 / 35 / 5
Регистрация: 25.05.2010
Сообщений: 211
04.01.2012, 23:42 #7
i ето счетчик цикла
Vera_0709
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 11
04.01.2012, 23:45  [ТС] #8
Цитата Сообщение от Vera_0709 Посмотреть сообщение
for(int a=0; a<20; a++)
а что тогда означает "а"?
NoMasters
Псевдослучайный
1753 / 1096 / 72
Регистрация: 13.09.2011
Сообщений: 3,132
04.01.2012, 23:49 #9
Счетчик другого цикла же

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2012, 23:49
Привет! Вот еще темы с ответами:

Как сделать быстрый генератор случайных чисел? - C++
Доброго времени суток. Нашёл в сети пример, но меня не устраивает, что генератор выдаёт последовательно либо 0, либо 1, через равные...

Генератор псевдо-случайных чисел, как хэш-функция - C++
Анализируя генератор псевдослучайных чисел Я пришел к выводу, что (Учитывая что RAND_MAX = 32767) придумал сам, но может где то...

Генератор случайных чисел - C++
Всем привет, вот такая задачка. &quot;Датчики случайных чисел можно привлекать при подборе проверочных исходных данных для программ. а) 25...

Генератор случайных чисел - C++
Добрый день!У меня есть код #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; #include &lt;ctime&gt; char randSym() { ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.01.2012, 23:49
Ответ Создать тему
Опции темы

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