Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра Комп’ютеризовані системи автоматики
З В І Т
до лабораторної роботи №2
з курсу: «Алгоритмічні мови та програмування. Частина2»
на тему:
Функції. Перевантаження функцій. Використання дружніх функцій
Варіант № 21
Мета роботи: зрозуміти особливості використання функцій в алгоритмічній мові С++, навчитися передавати аргументи функції за значеннями, вказівниками, посиланнями та використовувати дружні функції.
Завдання:
Написати програму алгоритмічною мовою С++ згідно з завданням, отриманим від викладача за табл. 1: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування матриці, обчислення fi(aij), введення і виведення матриці оформити у вигляді функцій; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). Для розв'язку задачі використати клас одномірного масиву, функції-члени та дружні функції.
/
Текст програми:
#include <stdafx.h>
#include <iomanip>
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
const int n=5;
class Vector
{
private:
double V[n];
public:
friend void Input(Vector A[]);
friend void Sort(Vector A[]);
friend void Output(Vector A[]);
friend void fij(Vector A[]);
};
void Input(Vector A[])
{
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
{
cout<<"["<<i+1<<"]["<<j+1<<"] = ";
cin>>A[i].V[j];
}
}
void Sort(Vector A[])
{
double value;
int i, j;
for (int k = 0; k < n; k++)
for (i = 1; i < n; i++)
{
value = A[k].V[i];
for (j = i - 1; j >= 0 && A[k].V[j] < value; j--)
A[k].V[j+1] = A[k].V[j];
A[k].V[j+1] = value;
}
}
void Output(Vector A[])
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
cout<<setw(4)<<A[i].V[j]<<" ";
cout<<endl;
}
}
void fij(Vector A[])
{
int j,i;
double summa, sa, sg, s=1;
for( j = 0; j < n; j++)
{
summa=0;
for(i = 0; i < n; i++)
summa+=A[i].V[j];
sa = summa / n;
cout<<"sa["<<j+1<<"]="<<sa<<endl;
s*=sa;
}
sg =(fabs(pow(s, 0.2)));
cout<<"sg="<<sg<<endl;
}
void main()
{
Vector A[n];
Input(A);
Sort(A);
Output(A);
fij(A);
getch();
}
Результат роботи програми:
/
Висновок: я зрозумів особливості використання функцій в алгоритмічній мові С++, навчився передавати аргументи функції за значеннями, вказівниками, посиланнями та використовувати дружні функції.