IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Основы С, Задача про Random
onlyY?!...
сообщение 18.3.2009, 11:50
Сообщение #1


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 18.3.2009
Город: Ростов-на-Дону
Учебное заведение: ЮФУ
Вы: студент



1) Вызывается функция random(10) 3 раза подряд. Необходимо чтобы она выводила 3 произвольных числа из 10 на экран без повторения

2)Есть файл с записанными туда 10 словами с новой строки. Нужна функция, которая произвольным образом выбирает из файла 3 слова и без повторения.


По поводу 1) - Подскажите как записать, чтобы выводимые числа никогда и никак не могли повторяться. И без сравнения каждого из них между собой.

По поводу 2) - Сперва вроде нужно считать 1 произвольное слово из файла. Повторим еще 2 раза считывание. а дальше как?

Подскажите пожалуйста как в устной форме, так и по возможности в коде. Заранее благодарю.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kaa
сообщение 22.3.2009, 12:03
Сообщение #2


Аспирант
***

Группа: Активисты
Сообщений: 422
Регистрация: 7.1.2009
Город: Украина Киев
Вы: школьник



#include<stdlib.h> // в этом файле содержатся функции rand() и srand()
#include<time.h> // в этом файле содержится функция time()

srand(time(NULL));

потом пишешь то что тебе надо и rand ()%3
for(int i =0;i<10;i++ )
ну и потом if (условие чтоб не повторялось!)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
onlyY?!...
сообщение 27.3.2009, 10:19
Сообщение #3


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 18.3.2009
Город: Ростов-на-Дону
Учебное заведение: ЮФУ
Вы: студент



Цитата(kaa @ 22.3.2009, 15:03) *

#include<stdlib.h> // в этом файле содержатся функции rand() и srand()
#include<time.h> // в этом файле содержится функция time()

srand(time(NULL));

потом пишешь то что тебе надо и rand ()%3
for(int i =0;i<10;i++ )
ну и потом if (условие чтоб не повторялось!)


Спс. Все кроме srand(time(NULL)); я знаю, у меня проблема что после проверки условия через while и if все равно происходит повторение выведенного числа с вероятностью около 20 процентов. А необходимо чтобы вообще не повторялись.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kaa
сообщение 27.3.2009, 10:41
Сообщение #4


Аспирант
***

Группа: Активисты
Сообщений: 422
Регистрация: 7.1.2009
Город: Украина Киев
Вы: школьник



onlyY?!...
еще можно те числа которые попадались записывать во временную переменную и опять в if проверять и после конца while их стереть)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.4.2024, 8:34

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru