0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 23
|
||||||
1 | ||||||
Программа должна сгенерировать 2 случайных числа в диапазоне от 2 до 909.01.2015, 16:27. Показов 2036. Ответов 11
Метки нет (Все метки)
Здравствуйте! я только начинаю изучать азы Си подскажите пожалуйста!
Задача такая: программа должна сгенерировать 2 случайных числа в диапазоне от 2 до 9 , потом вывести их на экран и далее пользователь должен ввести ответ чему будет равно произведение этих чисел. таблица умножения... Казалось бы всё просто , но оператор While отказывается напрочь работать и условия в скобках не проверяются , даже если оставить только 1 из 4х условий! это первый вопрос!. на свою голову пока пытался отладить программу решил ввести задержку времени sleep(1000); почему то задержка работает в секундах а не в милисекундах как должна(((( вот текст программы:
0
|
09.01.2015, 16:27 | |
Ответы с готовыми решениями:
11
Сгенерировать 10 случайных целых чисел в диапазоне от N до M Сгенерировать 7 случайных чисел в диапазоне от 3 до 33. Вывести их на экран. Сгенерировать два массива A и B случайных чисел в диапазоне [0,55] При вводе числа в диапазоне от 0 до 50 программа должна выдать сообщение о количестве слоников(с правильным окончанием) |
0 / 0 / 1
Регистрация: 10.10.2014
Сообщений: 3
|
||||||
09.01.2015, 16:37 | 2 | |||||
А так:
system(pause) Вы ставите очень рано. Нужно в конце или вообще не ставить. вместо цикла лучше if т.к. в цикле Вы никаких действий с числами не делаете и происходит зацикливание. 1000 милисекунд == 1 секунда Добавлено через 31 секунду Числа от 1 до 31- лишние
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
09.01.2015, 16:50 | 3 |
Любопытная конструкция. Работает, однако.
Сначала проверяется условие, а уж если оно выполнено, выполняется тело. У тебя же x=1, y=1, условие не выполняется и переменные не меняются.
Надо использовать цикл do ... while
0
|
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 23
|
|
09.01.2015, 17:05 [ТС] | 4 |
Байт спасибо про do white понял!
а про sleep() никто не ответил почему за держка в миллисекундах не работает?
0
|
0 / 0 / 1
Регистрация: 10.10.2014
Сообщений: 3
|
|
09.01.2015, 17:08 | 5 |
Вы указали задержку 1000 миллисекунд, что равно 1 секунде!!!
0
|
Формучанин
364 / 294 / 42
Регистрация: 02.11.2010
Сообщений: 1,242
|
|
09.01.2015, 17:11 | 6 |
Sleep() http://msdn.microsoft.com/en-u... 85%29.aspx
sleep() http://www.opennet.ru/man.shtm... &russian=0 usleep() http://linux.die.net/man/3/usleep
0
|
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 23
|
|
09.01.2015, 17:16 [ТС] | 7 |
я и спрашиваю почему 1000 милисекунд не равно 1 секунде то есть sleep(1000) = 1000 секунд у меня
если ставлю sleep(10 он ругается а если sleep(5) или sleep(10) то он задерживает на 5 и 10 секунд соответственно Байт про do white понял! Но тоже не совсем работает тогда он выходит из цикла с числом не удовлетворяющим условию: то есть с 0) \ссылки на иностранные страницы не кидайте) я по английский чуть больше чем в пределах школьной программы знаю)
0
|
Супер-модератор
|
|
09.01.2015, 17:21 | 8 |
Сообщение было отмечено Andrey-1302 как решение
Решение
Потому что sleep и Sleep - совершенно разные функции. Первая задерживает выполнение на секунды, а вторая, из WinAPI, на миллисекунды...
1
|
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 23
|
|
09.01.2015, 17:25 [ТС] | 9 |
Почему тогда компилятор не даёт вводить sleep(1) ?
0
|
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 23
|
|||||||||||
09.01.2015, 18:43 [ТС] | 11 | ||||||||||
Переписал программу как мог) теперь наполовину работает и задержка радотает Sleep() спасибо,
НО While опять неработает то есть выдаются значения включая 0 =(((
вообщем понятно как он думает ... нули смог исключить ) только разделив на 2 цикла. единицы так и не хочет через While но принцип понятен... додумаю...
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
09.01.2015, 19:16 | 12 | |||||
Старый индейский способ засыпать меньше, чем на секунду
0
|
09.01.2015, 19:16 | |
09.01.2015, 19:16 | |
Помогаю со студенческими работами здесь
12
Программа должна искать все числа в диапазоне от a до b, содержащих в десятичной записи не более двух нулей Сгенерировать 10 случайных чисел в диапазоне от 0 до 1, чтобы в сумме получить 1 Сгенерировать 10 случайных значений в диапазоне от -30 до 150 и вывести кратные 3-м Написать программу, которая должна сгенерировать массив из 1000000 случайных целых чисел и записать их в файл Сгенерировать 4000 целых случайных чисел в диапазоне от -3000 до 7000 и записать их в текстовый файл Сгенерировать 10 случайных чисел в диапазоне от -10 до 10. Вывести на экран количество положительных чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |