Комментарии:
Друзья, если вы решили изучать программирование и подписались на канал - рекомендую вам нажать колокольчик чтобы никогда не пропускать новые уроки!
Ответитьранд, сранд, ранд, задать диапазон, сранд
Ржу
а зачем ? создавать еще один цикл for, если можно сразу заполнить массив в первой же итерации for (int i = 0; i < size; i++)
{
arr[i] = rand() % 10;
cout << arr[i] << endl;
}
Проверил, при деление по модулю на 10, выводятся все числа кроме 10. Чтобы получить 10, необходимо делить по модулю на 11.
Ответитьесли мы впишем в srand() значение 1, то у нас выдастся такое же значение как и в коде в котором нету srand()
ОтветитьНе понял зачем второй раз писать оператор for для вывода в консоль. У меня он и в первом выводит, достаточно там же cout прописать.
ОтветитьОказалось тут есть достаточно интересные решения у людей. Пожалуй, это первая дз в цикле, где пришлось действительно включить голову, чтобы что-то получить)
int main()
{
setlocale(LC_ALL, "ru");
srand(time(NULL));
//Задаём длину массива
int const ARR_LENGHT = 10;
int copies = 1;
int arr[ARR_LENGHT]{};
//Вывод изначально сгенерированных значений
cout << "Изначальный массив:" << endl;
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
arr[i] = rand() % 15;
cout << i << " = " << arr[i] << endl;
}
/*Переменная copies указывает на количество найденных совпадений
за один перебор всего массива */
while (copies != 0)
{
copies = 0;
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
for (int j = 0; j < sizeof(arr) / sizeof(arr[0]); j++)
{
if ((j != i) && (arr[i] == arr[j]))
{
arr[j] = rand() % 15;
copies++;
}
}
}
}
//Вывод значений после проверки на копии
cout << endl << "Конечный массив:" << endl;
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
cout << i << " = " << arr[i] << endl;
}
//system("pause");
return 0;
}
блин я думал думал думал думал, не стал тритить 2 дня как на прошлую домашку, и решил сразу перейти к ответам...видимо думание не для меня
Ответитьпривязывать ко времени не самая лучшая идея, в больших диапазонах прослеживается некая последовательность чисел, вот у меня они просто идут по порядку (с шагом в ~10). Подскажите пожалуйста, как исправить?
ОтветитьВернулся к этому уроку, забыл как применять srand
ОтветитьКрутые видео !
ОтветитьЕсли ты не можешь объяснить что-либо просто – значит, ты сам этого не понимаешь» (Эйнштейн)… или говоришь о том, чего нет.
Ответитьa на codeblocks rand() говорит что не сушествует такой команди
ОтветитьА если я хочу сгенерировать число от -10 до 10?
Ответитьпривет из 2023. Спасибо большое!
ОтветитьСпасибо 🙏 большое 😊
ОтветитьУчусь в ВУЗе на программиста на заочном обучении. И чтобы научиться писать код, просматриваю твои уроки. Пока вся информация прямо в мозг и все ДЗ выполняются с легкостью. Спасибо за доходчивую и не муторную подачу материала!
ОтветитьВот мой вариант цикла генерирующего заданное в size количество рандомных чисел в массив intArr[size].
const int size = 10;
int intArr[size]{};
srand(time(NULL));
for (int i = 0; i < size; i++) {
bool flag = true;
while (true) {
int buffRand = rand()% size;
for (int j = 0; j < i; j++) {
if (intArr[j] == buffRand) {
flag = false;
break;
}
}
if (flag) {
intArr[i] = buffRand;
break;
}
else
{
flag = true;
}
}
}
rand() % a + b, где a - это количество цифр (диапазон) чисел, которое будет генериться в rnad(); b - число, с которого начитается генерация.
Ответитьзачем нужно делать два цикла ? и с одним нормально работает
Ответитьна клоуничах хорош мужик херня твой код
ОтветитьРебят, я хз как ЭТО rand() %10+5 можно назвать диапазоном для рандома. ЭТО НЕ КОРЕКТНВЙ СПОСОБ.
Самый лучший и правильный способ вот этот: а-левая граница, b-правая граница, то: rand()%(b-a+1) + a;
Способ автора не верный, так как если заменить 10 и 5 на переменные, которые будут отвечать за границы значений, то у нас всегда рандомный значения будут выходить за пределы. Я вводил 10 и 5, а рандом мог выдать 14. С чего автор решил, что это правильно я хз. По моему же способу вы спокойно можете задать любой диапазон и рандом не выйдет за пределы.
а можно вместо 2х циклов написать в одном?
for (int i = 0;i < s; i++)
{
arr[i] = rand() % 100;
cout << arr[i] << endl;
}
у меня с одним все работает
спасибо
Ответитьа как сделать чтобы генерация была от -10 до 10????
Ответитьот hello world до сюда из 24 тыс дошло только 8 тыс
Ответитьспасибо, выручил
Ответитьспасибо тебе бро, научил чего я хотел!!
Ответить<stdlib.h> просто шутка ?
ОтветитьА у всех первое число было "41"?
ОтветитьДай бог тебе здоровья , братан , просто лучший
Ответить1
ОтветитьСделайте как выиграть онлайн казино цифры от 1 до 36
ОтветитьМне нада 10 чисел
ОтветитьОт 1го до 36
ОтветитьЗдравствуйте скажите пожалуйста а вы можете мне помочь с генерировать числа?
ОтветитьОбъясните почему в записи a = rand() % 10 + 5 получается так, что диапазон становится от 5 до 14. Мы ведь 5 прибавляем к сгенерированному числу и диапазон должен быть от 5 до 9, разве нет? Объясните, как работает эта запись, пожалуйста.
ОтветитьА как сделать так, чтобы количество элементов в массиве можно было задавать с ввода с клавиатуру. В MS CODE выдает ошибку, так как количество элементов в массиве может принимать только константные значения?
ОтветитьЗдравствуйте!
Подскажите пожалуйста, можно ли в visual studio c++ делать графики зависимости?
Ths
ОтветитьА зачем писать второй цикл на вывод массива, если вывод можно написать в первом цикле?
for (int i = 0; i < ARRAY_SIZE; i++)
{
arr[i] = rand() % 10;
cout << arr[i] << " ";
}
я конечно понимаю, что видео вышло давно, но вопрос, для чего использовать второй цикл for для вывода, если это можно сделать в одном цикле, зачем усложнять код?
Ответитьа если не использовать библиотеку времени? если объявить переменную инт, но не инициализировать ее. теперь при чтении этой переменной мы получим случайный мусор из памяти и этим мусором инициализировать srand? будет ли так работать?
ОтветитьПривет! Подскажи пожалуйста, что у тебя за программа на панели задач (иконка похожа на крылья в синем круге)? Видел что тотал коммандер вроде как, но не могу найти софтину...
ОтветитьА до включительно или нет
ОтветитьТолько подумала, а если нужно без повторов значений, и тут же домашка по нему XDDDDD
ОтветитьСпасибо за понятливое обяснения !!!Удачи тебе чувак!
Ответитькак то странно он генерирует. В питоне просто подключаешь randrange и кайфуешь, а тут…
Ответить