Робота с генератором случайных чисел

  • Автор темы -
  • Дата начала

Гость
#1
Есть кусок кода:

mas=rand()%100-50;
ass= (char) mas;
cout << ass << "\n”;

После выполнения выводит белиберду, а в текстовый файл (он дальше по коду) нечего не пишется. :) А как зделоть так что – б на экран цифры вывались, и в файл цифры записались.
Заранее спасибо.
 
04.09.2006
2 566
2
Минск
#2
Напишите на листочке возможные результаты работы кода и поймете, что белиберда это нормальный результат
 

Гость
#3
но мне нужны числа, а он мне дал символы, смайлики, пики, кресты. бубы. А когда я отправляю ето всё в файл ( fputs( ass, file); ) он мне сообщает об ошибке (cannot convert parameter 1 from 'char' to 'const char *').
 
04.09.2006
2 566
2
Минск
#4
но мне нужны числа, а он мне дал символы, смайлики, пики, кресты. бубы
Всё правильно. Я не зря Вам говорил написать результаты работы кода на листочка.
Итак:
rand() генерирует значения от 0 до RAND_MAX (32767). Вот представьте, получили Вы сгенерированное число 30000.
30000 % 100 = 0; 0 - 50 = -50
Ну и какой символ соответсвует коду -50?
 

Гость
#5
Ага, я понял. :(
А если мне надо ввести на экран и ввести в файл не "символ № -50" а просто -50 (в смысле 3 символа такие) B)

Спасибо за помощь.
 

Гость
#7
Но тогда я не могу отправить число в файл.
fputs( mas , file) - выдаёт ошибку, потому что int отправлять в файл нельзя.
 
B

bizybiz

Гость
#9
European, ненененененене!! и еще раз не!
Смотри в сторону fprintf(..) !!!
Вот что например у тебя должно получиться: fprintf( file, "%d", mas );