Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2016, 20:14   #1
Мой повелитель
Пользователь
 
Аватар для Мой повелитель
 
Регистрация: 04.01.2016
Сообщений: 93
По умолчанию Программа не всегда генерирует рандомное число.

Код:
#include <iostream>
#include<ctime>
#include <conio.h>
using namespace std;
int main()
{
	setlocale(LC_ALL, "Russian");
	srand(time(0));
	int b = 0;
	int k = 0;
	char massword[27] = { 'Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M','\0' };
	char word[7];
	int rand_number = 0 + rand() % 26;
	for (int i = 0; b < 6; i++)
	{
		if (rand_number == i)
		{
			word[b] = massword[i];
			b++;
			i = 0;
			rand_number = 0 + rand() % 26;
		}
	}
	for (int i = 0; i < 6; i++)
	{
		cout << word[i];
	}
	return 0;
}
После много запусков программа иногда ничего не пишет,а иногда генерирует то что нужно.Проверил,вроде бы с кодом всё правильно.Все 26 букв на месте,генерация проходит от 0 до 26 включительно.
Мой повелитель вне форума Ответить с цитированием
Старый 13.03.2016, 20:56   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Мой повелитель Посмотреть сообщение
Проверил,вроде бы с кодом всё правильно.Все 26 букв на месте,генерация проходит от 0 до 26 включительно.
хз, что тут имело ввиду.

код - говно.
и при i ==28, впадает в бесконечный цикл.
_Bers вне форума Ответить с цитированием
Старый 13.03.2016, 21:15   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Что мешает нагенерировать 6 чисел без странного цикла?
Код:
for (int i = 0; i < 6; ++i)
{
  word[i] = massword[rand() % 26];
}
pu4koff вне форума Ответить с цитированием
Старый 15.03.2016, 22:35   #4
Мой повелитель
Пользователь
 
Аватар для Мой повелитель
 
Регистрация: 04.01.2016
Сообщений: 93
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Что мешает нагенерировать 6 чисел без странного цикла?
Код:
for (int i = 0; i < 6; ++i)
{
  word[i] = massword[rand() % 26];
}
ОО БОЖЕ!!!Спасибо,теперь я понял всю абсурдность моего кода.
Мой повелитель вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить рандомное число C#? tolmik C# (си шарп) 7 07.04.2016 19:50
C++ Программа не всегда работает правильно. PROkaZZZniK Помощь студентам 1 03.04.2013 17:48
Функция, которая генерирует число в диапазоне от 0 до числа, которое передается ей в качестве параметра harvey Помощь студентам 1 28.03.2013 21:58
Возможна ли программа на Delphi, которая генерирует текст и постит его на сайт vindows93 Свободное общение 31 16.12.2011 22:33
программа генерирует матрицу... fruktovaya Паскаль, Turbo Pascal, PascalABC.NET 3 30.10.2011 21:21