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

Перевантаження функцій та операцій

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

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

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

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови та програмування

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

Міністерство освіти і науки, молоді та спорту України Національний університет «Львівська політехніка» Лабораторна робота № 3 З дисципліни «Алгоритмічні мови та програмування, ч.2» Перевантаження функцій та операцій Варіант-5 Завдання: 5 Динамічний двомірний масив **p Конструктор повинен дозволяти створювати об'єкти з ініціалізацією і без неї. Визначити конструктор копій. Перевантажити операції -, =, виводу <<, вводу >> для об'єктів класу, а також дружні операції <тип>*, +=.   Код програми: #include "stdafx.h" #include <iostream> #include <cmath> #include <clocale> using namespace std; class Array { private: int lines; int columns; double **array; void createArr(int n, int m) { array = new double*[n]; for (int i = 0; i < m; i++) { array[i] = new double[m]; } } public: Array() { lines = rand()%10; columns = rand()%10; createArr(lines, columns); for (int i = 0; i < lines; i++) { for (int j = 0; j < columns; j++) { array[i][j] = rand()%100; } } } Array(int n, int m) { lines = n; columns = m; createArr(lines, columns); cout << "Веддiть елементи масиву" << endl << endl; for (int i = 0; i < lines; i++) { for (int j = 0; j < columns; j++) { cout << "A[" << i << "][" << j << "] = "; cin >> array[i][j]; } cout << endl; } cout << endl; } Array(const Array &arr) { lines = arr.lines; columns = arr.columns; array = arr.array; } friend ostream &operator<<(ostream &stream, Array &arr) { cout << "Елементи масиву:" << endl; for (int i = 0; i < arr.lines; i++) { for (int j = 0; j < arr.columns; j++) { stream << "A[" << i << "][" << j << "] = " << arr.array[i][j] << endl; } cout << endl; } cout << endl; return stream; } friend istream &operator>>(istream &stream, Array &arr) { cout << "Веддiть елементи масиву" << endl << endl; for (int i = 0; i < arr.lines; i++) { for (int j = 0; j < arr.columns; j++) { cout << "A[" << i << "][" << j << "] = "; stream >> arr.array[i][j]; } cout << endl; } cout << endl; return stream; } Array operator+(Array &arr) { for (int i = 0; i < lines; i++) { for (int j = 0; j < columns; j++) { array[i][j] += arr.array[i][j]; } } return *this; } Array operator=(Array &arr) { for (int i = 0; i < lines; i++) { for (int j = 0; j < columns; j++) { array[i][j] = arr.array[i][j]; } } return *this; } }; void main() { setlocale(LC_CTYPE, "ukr"); Array arr1; cout << arr1; Array arr2(3, 3); Array arr3(3, 3); Array arr4 = arr2 + arr3; cout << arr4; cin >> arr4; cout << arr4; Array arr5 = arr4; cout << arr5; system("pause"); } Результат: /
Антиботан аватар за замовчуванням

10.03.2017 17:03

Коментарі

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

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

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

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

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

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

Admin

26.02.2019 12:38

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

Новини