/
lyapdy
/
Object_oriented_programming_cpp_318
Обзор
Документация
Войти
/
lyapdy
/
Object_oriented_programming_cpp_318
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lab4/task_1.cpp
71 строка
3 KB
danillyapunov
task4
25 июн 2025, 18:15
25 июн 2025, 18:15
4f23491
Код
Авторство
О чём код?
#include <random> #include <ctime> #include <cstdlib> #include <iostream> #include "task_1.h" using tdata_t = int; void gen_mers(tdata_t *xprandomArray, size_t arraySize, const tdata_t minValue, const tdata_t maxValue) { std::random_device rd; //���樠�����㥬 ���ன�⢮ std::mt19937 mersenne(static_cast<unsigned int>(time(0))); // ��砩�� ���樠�����㥬 ����� ���ᥭ�� std::uniform_real_distribution<double> dis(minValue, maxValue); // ��ଠ�쭮� ��।������ ��� ��������� // �뢮��� ��।������� ������⢮ ��砩��� �ᥫ ��������� ��������� std::cout << "���ᨢ ���ᥭ��: \n"; for (size_t count = 0; count < arraySize; ++count) { double randomRealInRange = dis(mersenne); // ����� ���뢠���� ������� �������� �� minValue �� maxValue xprandomArray[count] = static_cast<tdata_t>(randomRealInRange); // �ନ�㥬 ���ᨢ 楫�� �ᥫ std::cout << xprandomArray[count] << '\t'; // ��६ 楫� � // � �뢥�� 5 �ᥫ, � ��⠢�塞 ᨬ��� ����� ��ப� if ((count + 1) % 5 == 0) std::cout << '\n'; // typeid(randomArray).name(); } } void gen_gpchs(tdata_t *xprandomArray, size_t arraySize, const tdata_t minValue, const tdata_t maxValue) { static const double fraction = 1.0 / (static_cast<double>(RAND_MAX) + 1.0); std::cout << "\n��� ॠ������ ��砩���� ���ᨢ�: \n"; for (size_t count = 0; count < arraySize; ++count) { xprandomArray[count] = static_cast<tdata_t>(rand() * fraction * (maxValue - minValue + 1) + minValue); std::cout << xprandomArray[count] << '\t'; // ��६ 楫� � // � �뢥�� 5 �ᥫ, � ��⠢�塞 ᨬ��� ����� ��ப� if ((count + 1) % 5 == 0) std::cout << '\n'; // typeid(randomArray).name(); } } int find_max_min(int *xprandomArray, size_t arraySize) { int arrayMax = xprandomArray[0]; int arrayMin = xprandomArray[0]; for (size_t i = 0; i < arraySize; ++i) // 横� ��� ��宦����� ���ᨬ㬠 � �����㬠 { if (xprandomArray[i] > arrayMax) arrayMax = xprandomArray[i]; if (xprandomArray[i] < arrayMin) arrayMin = xprandomArray[i]; } std::cout << "\n���ᨬ��쭮� ���祭��: " << arrayMax << '\n'; std::cout << "�������쭮� ���祭��: " << arrayMin << '\n'; return 0; } void task_1() { const tdata_t arraySize = 10; tdata_t randomArray[arraySize]{}; const tdata_t minValue = -100, maxValue = 100; // ������ ������� �������� gen_mers(randomArray, arraySize, minValue, maxValue); std::cout << "\n������ ���ᨢ�: " << sizeof(randomArray) / sizeof (randomArray[0]) << '\n'; find_max_min(randomArray, arraySize); gen_gpchs(randomArray, arraySize, minValue, maxValue); std::cout << "\n������ ���ᨢ�: " << sizeof(randomArray) / sizeof (randomArray[0]) << '\n'; find_max_min(randomArray, arraySize); }