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

На языке с++ создать базовый класс «список», определив в нем функции добавления в начало списка, удаления n-го элемента списка, вывода элементов списка на экран. породить от него класс « список», переопределив функцию добавления элемента списка.

Показать ответ
Ответ:
Боня227
Боня227
27.08.2022 20:22

#include <vector>

#include<iostream>

template <typename T>

inline void swap(T& arg1, T& arg2)

{

   T temp = arg1;

   arg1 = arg2;

   arg2 = temp;

};

template <typename T>

inline void merge(std::vector<T>& vArray, std::vector<T>& vTemp, int head, int middle, int tail)

{

   int tmp = 0, lower = head, upper = middle + 1;

 

   while (lower <= middle && upper <= tail)

   {

       if (vArray[lower] < vArray[upper])

       {

           vTemp[tmp++] = vArray[lower++];

       }

       else

       {

           vTemp[tmp++] = vArray[upper++];

       }

   }

 

   if (lower <= middle)

   {

       for (; lower <= middle; vTemp[tmp++] = vArray[lower++]);

   }

   else

   {

       for (; upper <= tail; vTemp[tmp++] = vArray[upper++]);

   }

 

   int arrayPointer = head;

   for (tmp = 0; arrayPointer <= tail; vArray[arrayPointer++] = vTemp[tmp++]);

}

template <typename T>

inline void merge_sort_helper(std::vector<T>& vArray, std::vector<T>& vTemp, int head, int tail)

{

   if (head == tail)

   {

       return;

   }

 

   int middle = (head + tail) / 2;

 

   merge_sort_helper(vArray, vTemp, head, middle);

   merge_sort_helper(vArray, vTemp, middle + 1, tail);

 

   merge(vArray, vTemp, head, middle, tail);

}

 

template <typename T>

void merge_sort(std::vector<T>& vArray)

{

   std::vector<T> v(vArray.size(), 0);

   merge_sort_helper(vArray, v, 0, vArray.size() - 1);

}

int main() {

   int n;

   std::cin >> n;

   std:: vector<int>vArray(n);

   for (int i = 0; i < n; i++) {

       std:: cin >> vArray[i];

   }

   merge_sort(vArray);

   for (int i = 0; i < n; i++) {

       std::cout << vArray[i]<<" ";

   }

}

0,0(0 оценок)
Ответ:
милаха3451
милаха3451
25.12.2022 09:54

Примерно так

#include <iostream>

#include <chrono>

#include <ctime>    

int main()

{

   auto start = std::chrono::system_clock::now();

   auto end = std::chrono::system_clock::now();

   bool Cycle = true;

   double SredSum=0;

   std::time_t end_time;

   double Entered = 0, count = 0;

   setlocale(LC_ALL, "Russian");

   std::cout.precision(5);

   std::chrono::duration<double> elapsed_seconds = end - start;

   do {

       std::cin >> Entered;

       if (std::cin.fail()){

           Cycle = false;

           break;

       }

       end = std::chrono::system_clock::now();

       elapsed_seconds = end - start;

       

       SredSum = ((SredSum * count) + Entered) / (count + 1.0);

       count++;

       std::cout << "Среднее значение этих " << count << " чисел равно " << SredSum << std::endl;

       if (elapsed_seconds.count() > 60) { Cycle = false; }

   } while (Cycle);

}


Написать программу, запрашивующую у пользователя в бесконечном цикле число и выводящую среднее значе
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота