В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
maxtigr24
maxtigr24
21.04.2021 19:59 •  Информатика

Написать программу в с++, определяющую, какое число чаще других встречается в последовательности целых случайных чисел. для генерации чисел использовать линейный конгруэнтный метод.

Показать ответ
Ответ:
Qwerty23459484
Qwerty23459484
06.10.2020 20:38
#include <iostream>
using namespace std;
const int n = 15;

double congruential(int &x) // функция генерации псевдослучайных чисел
{
 const int m = 100, // генерация псевдослучайных чисел в диапазоне
значений от 0 до 100 (выбирается случайно m > 0)
           a = 8, // множитель (выбирается случайно 0 <= a <= m)
         inc = 65; // инкрементирующее значение (выбирается случайно 0
<= inc <= m)
 x = ((a * x) + inc) % m; // формула линейного конгруэнтного метода
генерации псевдослучайных чисел 
 return (x / double(m));
}

int main()
{
    double arr[n];
    double num, frq, max_frq;
    int x0 = 20;
    for (int i=0; i<n; i++) {
        arr[i] = congruential(x0);
        cout << arr[i] << " ";
    }

    num = arr[0];
    max_frq = 1;
    for (int i=0; i < n-1; i++) {
        frq = 1;
        for (int k = i+1; k<n; k++) 
            if (arr[i] == arr[k])
               frq += 1;
        if (frq > max_frq) {
            max_frq = frq;
            num = arr[i];
        }
    }
    cout << endl;   
if (max_frq > 1) 
        cout << max_frq << " : " << num << endl;
else
        cout << "All uniqum" << endl;
    return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота