Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Шаблони

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2016
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ Звіт з лабораторної роботи №8 з дисципліни: “Об’єктно-орієнтовне програмування ” «Шаблони» Мета роботи Познайомитися із створенням шаблонів. Завдання лабораторної роботи / / Хід виконання роботи Текст програми Текст файлу M_vector.h #ifndef MATRIX_M_VECTOR_H #define MATRIX_M_VECTOR_H #include <vector> #include <iostream> #include <random> #include <ctime> using namespace std; template <typename T> class M_vector { public: vector<vector<T>> matrix; //vector<vector<double>> matrix_d; int size; M_vector(int array_size); //M_vector (int array_size, double d); ~M_vector(); int difference(); void set(); }; template <typename T> M_vector<T>::~M_vector(){} /* * Конструктор генерує двовимірний масив розміру size*size */ template <typename T> M_vector<T>::M_vector(int array_size) { size = array_size; srand((unsigned int) time(0)); vector<int> arg; ((random() % 100) - (random() % 100)); for(int i = 0; i != size; i++){ for(int j = 0; j != size; j++) arg.push_back(((rand() % 100) - (rand() % 100))); //Елементи масиву ініціалізуються випадковими значеннями matrix.push_back(arg); arg.erase(arg.begin(), arg.end()); } } /* * Обчислення різниці середнього арифметичного відємних і додатніх чисел */ template <typename T> int M_vector<T>::difference() { int p_sum = 0, p_number = 0; int n_sum = 0, n_number = 0; for (auto i : matrix) { for(auto j : i){ if(j > 0){ p_sum += j; p_number++; } if(j < 0){ n_sum += j; n_number++; } } } int result = (-(n_sum / n_number) - (p_sum / p_number)); return result; } template <typename T> void M_vector<T>::set() { for (auto i : matrix) { cout << "\t\t"; for (int j = 0; j != size; j++) { cout << i[j] << " "; if (j == (size - 1)) cout << endl; } } } #endif //MATRIX_M_VECTOR_H Текст файлу main.cpp #include <iostream> #include "M_vector.h" using namespace std; int main() { int array_size; int choice = 0; cout << "Input the size of array: " << endl; cin >> array_size; M_vector<int> matrix(array_size); do{ cout << "Make your choice: " << endl; cout << "\t\t1 - Results array " << endl; cout << "\t\t2 - Print the arithmetic difference negative and positive elements " << endl; cout << "\t\t3 - Complete program " << endl; cin >> choice; switch (choice) { case 1: matrix.set(); break; case 2: cout << matrix.difference() << endl; break; case 3: choice = 3; break; default: break; } }while (choice != 3); return 0; } Результати тестування програми / Рис. 1. Результати тестування програми Моя програма успішно створює двовимірний масив(рис.1.) та знаходить різницю середнього арифметичного відємних та додатніх чисел. Висновок У цій лабараторній роботі я засвоїв принцип створення шаблонів, дізнався про шаблони класів та функцій.
Антиботан аватар за замовчуванням

24.11.2018 19:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини