Написать программу в с++, определяющую, какое число чаще других встречается в последовательности целых случайных чисел. для генерации чисел использовать линейный конгруэнтный метод.
#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
Оформи подписку