Помощь - Поиск - Пользователи - Календарь
Полная версия: Магическое число
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Тёмный Эльф
Сколько не кручу эту прогу, у меня постоянно выходит число 346. Прога по левому написана или совпадение? wacko.gif Почему так?

/*магическое число*/
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
int main(void)
{ int magic;
int guess;
magic = rand(); /*генерация магического числа*/
do {
printf("Угадай магическое число\n");
scanf("%d",&guess);
clrscr();
if (guess == magic) {
printf("**Верно**");
printf("Магическое число равно\n", magic);
}
else if (guess>magic)
printf("‘Слишком большое\n");
else printf("‘Слишком маленькое\n"); }
while (guess != magic);
return 0;
}
volvo
randomize()

?
Тёмный Эльф
хм. выдает ошибку. не распознал эту функцию. а в каком заголовочной файле она описана? Rand() в <stdlib.h>
volvo
Там же, в stdlib.h, и описана...

...
int guess;
randomize(); /* <--- Здесь поставь ... */

magic = rand(); /*генерация магического числа*/
...
Тёмный Эльф
Забавно, теперь ввожу число 9999999999999999999999999 и прога мне пишет "слишком маленькое" blink.gif
А какое максимальное число, которое может сгенерировать этот Randomize() ? Я знаю, что оно должно быть не меньше 32 767, но не настолько же!?
Кстати, в справочнике Герберта Шилдта по Си (4-издание) нашел только про функцию Rand().
volvo
Да не генерирует randomize ничего! Он сбрасывает псевдослучайную последовательность на новую позицию, чтобы генерируемые rand() значения не повторялись... Показывай, что ты натворил с программой...

Добавлено через 5 мин.
Цитата
теперь ввожу число 9999999999999999999999999
А теперь подумай, КУДА ты вводишь это число? В 2-х байтовую переменную?
Тёмный Эльф
Все то же самое..только randomize(); прибавилось..

Добавлено через 3 мин.
Цитата
А теперь подумай, КУДА ты вводишь это число? В 2-х байтовую переменную?


Ну он на все числа так отвечает... ввожу 8 - маленькое, 800- маленькое, 8888- маленькое и так далее!!!
volvo
У меня только что программа из 1-го поста + randomize() прекрасно отработала... Загадала число 161, и вполне корректно отвечала "большое" или "маленькое" на мой ввод данных... (Turbo C++ 3.0)
Тёмный Эльф
Установил Turbo C++ 3.0. теперь прога работает без лагов. Видимо, это был косяк с компилятором.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.