Компьютер устройство ввода и вывода: устройство хранения: устройство обработки: напишите напишите напишите напишите напишите напишите напишите напишите
Ответы на вопрос:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>
using namespace std;
// Функція для генерації випадкових чисел та запису їх у файл
void generateRandomNumbers(const string& filename)
{
ofstream file(filename, ios::binary);
if (!file)
{
cout << "Помилка при відкритті файлу." << endl;
return;
}
srand(static_cast<unsigned int>(time(nullptr)));
int count = rand() % 100 + 1; // Випадкова кількість чисел від 1 до 100
for (int i = 0; i < count; ++i)
{
int num = rand() % 201 - 100; // Випадкове число від -100 до 100
file.write(reinterpret_cast<const char*>(&num), sizeof(int));
}
file.close();
}
// Функція для підрахунку кількості чисел у файлі
int countNumbers(const string& filename)
{
ifstream file(filename, ios::binary);
if (!file)
{
cout << "Помилка при відкритті файлу." << endl;
return 0;
}
file.seekg(0, ios::end);
int fileSize = file.tellg(); // Розмір файлу в байтах
int numCount = fileSize / sizeof(int); // Кількість чисел
file.close();
return numCount;
}
// Функція для підрахунку суми чисел у файлі
int calculateSum(const string& filename)
{
ifstream file(filename, ios::binary);
if (!file)
{
cout << "Помилка при відкритті файлу." << endl;
return 0;
}
int sum = 0;
int num;
while (file.read(reinterpret_cast<char*>(&num), sizeof(int)))
{
sum += num;
}
file.close();
return sum;
}
// Функція для підрахунку середнього арифметичного чисел у файлі
double calculateAverage(const string& filename)
{
int count = countNumbers(filename);
int sum = calculateSum(filename);
if (count > 0)
{
return static_cast<double>(sum) / count;
}
return 0.0;
}
// Функція для виведення чисел більших за середнє арифметичне
void printNumbersAboveAverage(const string& filename)
{
double average = calculateAverage(filename);
ifstream file(filename, ios::binary);
if (!file)
{
cout << "Помилка при відкритті файлу." << endl;
return;
}
int num;
while (file.read(reinterpret_cast<char*>(&num), sizeof(int)))
{
if (num > average)
{
cout << num << " ";
}
}
file.close();
cout << endl;
}
// Функція для
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
AlexandraB1109200321.12.2020 10:56
-
Matushabos06.02.2022 02:28
-
zhorik2006nice06.12.2021 12:16
-
Akimneznaet12309.03.2020 10:54
-
MrKoopo09.07.2020 14:50
-
Adzhisay10.11.2022 21:38
-
mayzernik25.11.2022 11:30
-
ert1237521.01.2021 14:09
-
Filipskaya2004.12.2020 05:24
-
malia2009200401.06.2021 05:19
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.