Пятница, 2025-06-20, 3:00 PM
Приветствую Вас Гость | RSS
Главная | Случайные числа на языке СИ | Регистрация | Вход
Меню сайта
Вход на сайт
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Программирование

    Случайные числа Random пример на языке СИ

     

    Случайные числа - это распространенный вопрос в программировании.

    Случайные числа можно получить программно, а можно получить аппаратно.

    Пример программной реализации случайных чисел на языке C++ написанная в среде Visual Studio 2010:

    Пример:

    #include "stdafx.h"
    #include <iostream>
    #include <conio.h>

    using std::cout;
    using std::endl;
    using std::cin;

    int _tmain(int argc, _TCHAR* argv[])
    {
    int n = 100;
    unsigned int x1 = 9;
    unsigned int x2 = 0;

    for(int i = 0; i<n; i++)
    {
    if (i % 20 == 0) cout<<"\n";
    x1 = (( ~x1<<2 ^ x2<<1*i )*( ~x1<<1 ^ x2<<2*i )+ ( ~x1<<4 ^ x2<<5*i )) % 37;
    x2 = x1;
    cout<<" "<<x1;
    }
    cout<<endl;
    _getch();
    return 0;
    }

    Описание программы:

    Мы объявляем первое число x1, которому присваиваем значение 9. А переменная x2 нужна для сохранения предыдущего значения x1. Данная строка:

    x1 = (( ~x1<<2 ^ x2<<1*i )*( ~x1<<1 ^ x2<<2*i )+ ( ~x1<<4 ^ x2<<5*i )) % 37;

    На самом деле проста.

    ~ - это инверсия.

    << - это сдвиг числа.

    ^ - это исключающее ИЛИ, а по простому оно называется XOR.

    % - это остаток от деления. То есть наши числа будут от 0 до 36.

     

    Результат работы программы:

    uCozCopyright MyCorp © 2025