Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 04.11.2015
Сообщений: 9

Заполнение вектора случайными числами

08.11.2015, 19:13. Показов 6706. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как с помощью функции rand() заполнить вектор случайными числами из промежутка, причем границы промежутка пользователь указывает самостоятельно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.11.2015, 19:13
Ответы с готовыми решениями:

Заполнение вектора случайными числами
Как сделать сортировку? Желательно подробно. И почему рандомные числа одни и те же? #include <windows.h> #include <sstream>...

Лямбда: заполнение вектора случайными числами
хотел заполнить вектор случайными числами с помощью лямбда, но че то ничего не получилось... #include <iostream> #include...

Заполнение случайными числами
у меня вот какая проблема...вот часть программы заполнения массива случайными числами....но каждый разпри выполнении программы у меня...

26
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.11.2015, 19:17
C++
1
result = min + (double)rand()/RAND_MAX *(max - min);
0
Заблокирован
08.11.2015, 21:02
nmcf, зачем этот кошмар когда можно проще?
C++
1
2
3
4
int random(int min, int max)
{
    return min + rand() % (max - min);
}
1
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
08.11.2015, 21:34
Цитата Сообщение от KaTRiNA13 Посмотреть сообщение
заполнить вектор
Я один это вижу?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.11.2015, 23:30
Volrajas, потому что так нарушается равномерное распределение, а я это не люблю.
0
Заблокирован
09.11.2015, 07:00
Цитата Сообщение от nmcf Посмотреть сообщение
Volrajas, потому что так нарушается равномерное распределение, а я это не люблю.
с чего вы взяли? первый раз про это слышу...
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.11.2015, 09:31
Volrajas, здесь хотя бы почитай: http://www.cplusplus.com/reference/cstdlib/rand/
A typical way to generate trivial pseudo-random numbers in a determined range using rand is to use the modulo of the returned value by the range span and add the initial value of the range.
Notice though that this modulo operation does not generate uniformly distributed random numbers in the span (since in most cases this operation makes lower numbers slightly more likely).
1
Заблокирован
09.11.2015, 10:29
nmcf, ну надо же, не знал спасибо а ваш вариант более равномерный?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.11.2015, 10:35
Да. Но лучше этой древностью вообще не пользоваться. Есть <random>.
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
09.11.2015, 11:24
Цитата Сообщение от nmcf Посмотреть сообщение
Но лучше этой древностью вообще не пользоваться. Есть <random>.
В следующий Стандарт предварительно одобрили более человеко-удобный rand.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.11.2015, 13:11
Tulosba, что-то я его не вижу там. randint какой-то обсуждают, с диапазоном.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
09.11.2015, 13:40
Цитата Сообщение от nmcf Посмотреть сообщение
randint какой-то обсуждают, с диапазоном.
Я его и имел в виду. Смысл в том, что для использование ГПСЧ на современный лад не нужно в наиболее простых случаях городить сложную обвязку.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.11.2015, 15:16
Там всего 2 строки нужно.
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
09.11.2015, 15:24
gru74ik, нет ты не одинок
Вы не о том спорите, лучше ответьте как заполнить то что, по умолчанию не имеет конца? Или ждать пока память не закончится и система не загнется в ужасных судорогах не хватки памяти?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
09.11.2015, 15:44
Цитата Сообщение от nmcf Посмотреть сообщение
Там всего 2 строки нужно.
Которых в 99% случаев можно будет избежать. Сравни использование:
C++
1
2
3
std::mt19937 gen;
std::uniform_int_distribution<> dis(1, 100);
dis(gen);
и
C++
1
std::randint(1, 100);
0
Заблокирован
09.11.2015, 16:30
Цитата Сообщение от Mesteriis Посмотреть сообщение
Вы не о том спорите, лучше ответьте как заполнить то что, по умолчанию не имеет конца? Или ждать пока память не закончится и система не загнется в ужасных судорогах не хватки памяти?
че его заполнять то?
C++
1
2
3
4
std::vector<int> v(10, 0);
 
for (int i = 0; i < v.length(); i++)
    v[i] = random(0, 100);
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
09.11.2015, 17:48
Volrajas, хорошо, а я вот после цикла допишу
C++
1
2
v[10]=10;
v[11]=10;
И о чудо он его дополнит, хоть и некорректно но все же, не скажет что вектор заполнен или что нет такой размерности. Тут придирка к условию задачи а не к ТС
0
Заблокирован
09.11.2015, 20:49
Mesteriis, бред какой то несешь размер вектора такой какой то указываешь при создании, ну можно еще использовать push_back, но это более медленно (хотя он и выделяет с запасом)
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
09.11.2015, 21:00
Volrajas, А ты попроуй сделать что я сказал, сильно удивишься!
0
Заблокирован
09.11.2015, 21:44
Mesteriis, просто ошибка будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.11.2015, 21:44
Помогаю со студенческими работами здесь

Заполнение массива случайными числами
Здравствуйте, подскажите как заполнить char массив числами целыми с помощью rand () через пробел ?

Заполнение матрицы случайными числами
У меня есть код. #include &lt;stdafx.h&gt;; #include &lt;iostream&gt;; #include &lt;stdio.h&gt;; #include &lt;cstdlib&gt;; #include &lt;ctime&gt;; using...

Заполнение массива случайными числами
Извините за наиглупейший вопрос, но я забыл как задавать диапазон случайных чисел при заполнеии массива:wall:. Будьте добры, освежите мне...

Заполнение массива случайными числами
Доброго времени суток. Перейду сразу к сути: Надо построить массив из 5000 целых случайных чисел и отсортировать его сортировкой Шелла, ...

Заполнение строки случайными числами
Здравствуйте! Задача, в общем-то легкая, но пока безуспешно пытаюсь решить ее. Суть ее в этом: нужно заполнить строку определенным...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru