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

Случайный выбор вопроса - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
ham134
3 / 3 / 0
Регистрация: 22.10.2011
Сообщений: 81
26.10.2011, 01:31     Случайный выбор вопроса #1
Здравствуйте, как можно сделать так, чтобы выпадал случайный вопрос из нескольки добавленных в программу, тоесть например когда запускаешь программу он выдавал любой вопрос из 5 записанных в нем?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Денис Н.
 Аватар для Денис Н.
459 / 459 / 4
Регистрация: 17.08.2011
Сообщений: 1,489
26.10.2011, 01:35     Случайный выбор вопроса #2
Цитата Сообщение от ham134 Посмотреть сообщение
чтобы выпадал случайный вопрос
Ответ, как бы, на поверхности
ham134
3 / 3 / 0
Регистрация: 22.10.2011
Сообщений: 81
26.10.2011, 01:42  [ТС]     Случайный выбор вопроса #3
Цитата Сообщение от Денис Н. Посмотреть сообщение
Ответ, как бы, на поверхности
В каком смысле?
Riderik
 Аватар для Riderik
28 / 28 / 1
Регистрация: 24.07.2011
Сообщений: 171
26.10.2011, 01:47     Случайный выбор вопроса #4
Делаешь массив (или список) вопросов (строк), рандом по времени и выводишь выпавший вопрос
Sick2
14 / 14 / 1
Регистрация: 26.11.2010
Сообщений: 235
26.10.2011, 01:55     Случайный выбор вопроса #5
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include <iostream>
#include <time.h>
int _tmain(int argc, _TCHAR* argv[])
{
    srand(time(0));
    char *a[] = {"LOL?","NO?","WHY?","WHERE?"};
    std::cout<<a[rand()%4]<<std::endl;
    return 0;
}
Что-то типа этого..
ham134
3 / 3 / 0
Регистрация: 22.10.2011
Сообщений: 81
26.10.2011, 02:02  [ТС]     Случайный выбор вопроса #6
а у меня почему то #include "stdafx.h" не распознает(
Riderik
 Аватар для Riderik
28 / 28 / 1
Регистрация: 24.07.2011
Сообщений: 171
26.10.2011, 02:04     Случайный выбор вопроса #7
#include "stdafx.h" не распознает(
так не пиши ее
ham134
3 / 3 / 0
Регистрация: 22.10.2011
Сообщений: 81
26.10.2011, 02:14  [ТС]     Случайный выбор вопроса #8
спс Sick2, мне это помогло) буду примерно по твоему примеру делать, ток немного видоизменю)

C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
        srand(time(0));
        char *a[4] = {"LOL?","NO?","WHY?","WHERE?"};
        cout << a[rand()%4] <<endl;
        system("pause");
}
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
27.10.2011, 10:14     Случайный выбор вопроса #9
ham134, если пишешь на C++, то лучше подключать ctime, а не time.h.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
27.10.2011, 10:17     Случайный выбор вопроса #10
Не так сложно выдать один случайный из пяти, или ста, как выдать все вопросы в случайном порядке. У меня на 25-м вопросе из 30-ти начинался полный висяк.
vndtta
66 / 43 / 5
Регистрация: 17.10.2011
Сообщений: 146
Завершенные тесты: 1
27.10.2011, 11:15     Случайный выбор вопроса #11
Цитата Сообщение от taras atavin Посмотреть сообщение
Не так сложно выдать один случайный из пяти, или ста, как выдать все вопросы в случайном порядке. У меня на 25-м вопросе из 30-ти начинался полный висяк.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#define MAX 100
...
 for(int i=0;i<MAX;i++) mas[i]=false;
 
 for(int i=0, j=MAX;i<MAX;i++,j--)
 {
  int tmp=rand()%j;
  int k=0;
  for(int l=0;l<=tmp;l++,k++)
   while (mas[k]) k++;
  mas_rand[i]=k-1;
  mas[k-1]=true;
 }
вот так можно получить случайную последовательность от 0 до MAX-1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2011, 12:15     Случайный выбор вопроса
Еще ссылки по теме:

C++ Случайный выбор имени
C++ Случайный выбор из трех заданных чисел
Реализовать случайный выбор одного из элементов массива типа std::string C++

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

Или воспользуйтесь поиском по форуму:
Revol'veR
 Аватар для Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
27.10.2011, 12:15     Случайный выбор вопроса #12
Цитата Сообщение от ham134 Посмотреть сообщение
а у меня почему то #include "stdafx.h" не распознает(
Её обычно Визуал Студио требует, а Борланд работает и без неё.
Yandex
Объявления
27.10.2011, 12:15     Случайный выбор вопроса
Ответ Создать тему
Опции темы

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