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

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

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

Работа с генератором случайных чисел - C++

19.10.2013, 15:43. Просмотров 285. Ответов 3
Метки нет (Все метки)

Здравствуйте, уважаемые форумчане. Прошу помощи вот с такой задачей, не могу никак ничего придумать.
Вот собственно задача:
Сгенерировать два числа a,b и набор из 10 элементов, в диапазоне (-50;50). Найти минимальный из элементов, который находится в интервале (a;b). Если такой элемент отсутствует, то вывести -1.
Еще что важно: Решить нужно без использования массивов!
Суть я понимаю, и понимаю как решить, но не могу в коде реализовать, вот что я пока написал:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <stdio.h>
 
int main(){
    srand((unsigned) time(NULL));
    int a,b,p;
    a = rand()%60; // Здесь в задаче не указан диапазон для генерации, по этому можно изменить его 
    b = rand()%60;
     if (a<b) {
        printf("a = %d \t b = %d\n",a,b);
        for (int i = 1;i<=10;i++){
            p = rand()%100-50;
            if (p>a && p<b) {
                // ну а здесь я вот не могу теперь придумать как сравнить с предыдущим элементом и если он меньше, то вывести. Возможно я не прав конечно, то исправьте меня
            }
 
        }
     }
     else ;
}
Заранее спасибо. Жду вашей помощи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2013, 15:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с генератором случайных чисел (C++):

Программа с генератором случайных чисел - C++
Написать программу которая генерирует 2 целых числа от 0 до 9 и спрашивает произведение у пользователя, а потом сверяет его с верным. ...

Как работать с генератором случайных чисел - C++
В интернете нашёл мешалку для vector'a #include &lt;algorithm&gt; #include &lt;functional&gt; #include &lt;vector&gt; #include &lt;set&gt; #include...

Задать размерность вектору генератором случайных чисел - C++
Привет) Ситуация следующая: Динамический вектор. Написать программу по формированию динамического вектора целого типа. Имя вектора...

Описать функции элементов одномерного массива с генератором случайных чисел - C++
Описать функции формирования элементов одномерного массива с помощью генератора случайных чисел и изменения всех элементов массива на...

Отладка кода с генератором случайных функций - C++
Есть код генератора рандома для вызова одной из функций #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;conio.h&gt;...

Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех случайных чисел - C++
Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех случайных чисел типа float, что не больше...

3
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
19.10.2013, 15:51 #2
dero, эммм, создайте 2 переменные, одна с индексом минимального элемента, вторая со значением минимального элемента. И как это может остутствовать минимальный элемент на отрезке? если там есть цифры, значит там есть и наименьшее значение
0
dero
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 42
19.10.2013, 15:59  [ТС] #3
там найти нужно минимальный элемент не во всем наборе, а только из чисел которые входят в диапазон (а, б), а если таких нету, то вывести 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <stdio.h>
 
int main(){
    srand((unsigned) time(NULL));
    int a,b,p;
    int c1=60,c2=60,c3=60,c4=60,c5=60,c6=60,c7=60,c8=60,c9=60,c10=60,min = c1;
    a = rand()%60;
    b = rand()%60;
     if (a<b) {
        printf("a = %d \t b = %d\n",a,b);
        for (int i = 1;i<=10;i++){
            p = rand()%100-50;
            printf("%d\t",p);
            if (p>a && p<b) {
                switch (i) {
                case 1:  c1 = p;
                case 2:  c2 = p;
                case 3:  c3 = p;
                case 4:  c4 = p;
                case 5:  c5 = p;
                case 6:  c6 = p;
                case 7:  c7 = p;
                case 8:  c8 = p;
                case 9:  c9 = p;
                case 10:  c10 = p;
                }
 
            }
 
 
        }
     if (c2<min && c2>a) min = c2;
     if (c3<min && c3>a) min = c3;
     if (c4<min && c4>a) min = c4;
     if (c5<min && c5>a) min = c5;
     if (c6<min && c6>a) min = c6;
     if (c7<min && c7>a) min = c7;
     if (c8<min && c8>a) min = c8;
     if (c9<min && c9>a) min = c9;
     if (c10<min && c10>a) min = c10;
     if (min == 60) printf("\n 1"); else
     printf("minimalnoe chislo v diapazone(%d,%d) = %d",a,b,min);
     }
     else printf("a<b");
 
     _getch();
}
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
19.10.2013, 16:01 #4
dero, ну если работает, то хорошо)
0
19.10.2013, 16:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2013, 16:01
Привет! Вот еще темы с ответами:

Работа со звуком! (Ошибка) Аппаратный генератор случайных чисел! - C++
Доброго времени суток занимаюсь созданием аппаратного генератора случайных чисел на основе звуковой карты, и вот застала в расплох некая...

Сформировать одномерный массив целых чисел, используя датчик случайных чисел - C++
Удалить элементы кратные 7. Добавить после каждого нечетного элемента массива элемент со значением 0.

Сформировать одномерный массив целых чисел, используя датчик случайных чисел - C++
1) Сформировать одномерный массив целых чисел, используя датчик случайных чи-сел. 2) Распечатать полученный массив. 3) Удалить элементы...

Сформировать одномерный массив целых чисел, используя датчик случайных чисел - C++
Условие такое 1.Сформировать одномерный массив целых чисел, используя датчик случайных чисел. Распечатать полученный массив. ...


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

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

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