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

Тема в разделе "C и С++ FAQ", создана пользователем -, 21 янв 2009.

  1. Гость

    Есть кусок кода:

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

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Напишите на листочке возможные результаты работы кода и поймете, что белиберда это нормальный результат
     
  3. Гость

    но мне нужны числа, а он мне дал символы, смайлики, пики, кресты. бубы. А когда я отправляю ето всё в файл ( fputs( ass, file); ) он мне сообщает об ошибке (cannot convert parameter 1 from 'char' to 'const char *').
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Всё правильно. Я не зря Вам говорил написать результаты работы кода на листочка.
    Итак:
    rand() генерирует значения от 0 до RAND_MAX (32767). Вот представьте, получили Вы сгенерированное число 30000.
    30000 % 100 = 0; 0 - 50 = -50
    Ну и какой символ соответсвует коду -50?
     
  5. Гость

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

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Просто не нужно делать преобразование в char:
    mas=rand()%100-50;
    cout << mas << "\n”;
     
  7. Гость

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    смотрите в сторону sprintf
     
  9. bizybiz

    bizybiz Гость

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    В первом посте было преобразование в char, поэтому я и сказал про sprintf
     
  11. bizybiz

    bizybiz Гость

    European, это уже отговорки уважаемый)
     
Загрузка...
Похожие Темы - Робота генератором случайных
  1. trani
    Ответов:
    0
    Просмотров:
    471
  2. maksymlys
    Ответов:
    1
    Просмотров:
    1.389
  3. adam-mospan
    Ответов:
    1
    Просмотров:
    1.946
  4. San40S
    Ответов:
    5
    Просмотров:
    5.758
  5. anet040885
    Ответов:
    0
    Просмотров:
    1.191

Поделиться этой страницей