М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ann0706kol
ann0706kol
06.12.2022 17:47 •  Информатика

С++ Всі роботи проводяться з файлом у бінарному режимі.
Використовувати масив не можна.
Написати такі функції:
1. Згенерувати у файл випадкові цілі числа від -100 до 100. Кількість
чисел випадкова від 1 – 100.
2. Підрахувати кількість чисел у файлі;
3. Підрахувати суму чисел у файлі;
4. Підрахувати середнє арифметичне чисел у файлі;
5. Вивести числа більші за середнє арифметичне.
6. Відсортувати числа у файлі за зростанням.
Зробити меню для тестування функцій.

👇
Ответ:
lolCreeper0
lolCreeper0
06.12.2022

#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;

}

// Функція для

4,6(86 оценок)
Открыть все ответы
Ответ:
maxcarleson1
maxcarleson1
06.12.2022

Ақпараттық технологиялар саласы негізінен екі тәуелсіз циклде дамиды: өнімділік және қаржылық. Жақында біз қаржылық циклде екендігіміз туралы көптеген даулар болды; қаржылық нарықтарға көп көңіл бөлінеді, олар кейде өзін болжай алмайтындай ұстайды және қатты өзгеріп отырады. Екінші жағынан, өнімнің циклдеріне онша назар аударылмайды, дегенмен олар ақпараттық технологияны алға жетелейді. Бірақ өткен тәжірибені талдай отырып, сіз қазіргі өнім циклын түсінуге және технологиялардың болашақ дамуын болжауға тырыса аласыз. Жоғары технологиялар саласындағы өнім циклдарының дамуы платформалар мен қосымшалардың өзара әрекеттесуі арқылы жүреді: жаңа платформалар жаңа қосымшаларды құруға мүмкіндік береді, бұл өз кезегінде осы платформалардың құнын арттырады, осылайша оң кері байланыс циклін жабады. Шағын өнім циклдары үнемі қайталанып отырады, бірақ тарихи түрде 10-15 жылда бір рет тағы бір үлкен цикл басталатындай дамыды - бұл АТ-ны толық өзгертетін дәуір.

Объяснение:

4,7(57 оценок)
Ответ:
Дорога, соединяющая города i и j, даст единицу в две позиции - (i, j) и (j, i). Тогда общее количество единиц в матрице равно удвоенному числу дорог. Отсюда и простое решение - считать N^2 чисел, подсчитать количество единиц и поделить его на 2. Можно считать и сумму - от этого ничего не изменится.

   #include <iostream> 
   int main() {
       int n = 0, sum = 0, temp = 0;
       std :: cin >> n;
       for (int i = 0; i < n * n; i++) {
           std :: cin >> temp;
           sum += temp;
       }
       std :: cout << sum / 2;
       return 0;
   }
4,6(57 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ