Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра КСА
Звіт
з лабораторної роботи №2
з дисципліни: “Алгоритмічні мови та програмування. Частина 2”
на тему: “ Об’єктно орієнтоване програмування”
Варіант №3
Львів-2014
Завдання
Написати програму алгоритмічною мовою С++ згідно з завданням, отриманим від викладача за табл. 1: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування матриці, обчислення fi(aij), введення і виведення матриці оформити у вигляді функцій; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). Для розв'язку задачі використати клас одномірного масиву, функції-члени та дружні функції.
3
Впорядкувати елементи рядків матриці за спаданням їх значень методом обміну
fi(aij)-добуток елементів у кожному стовпці матриці; F(fi(aij))-середнє арифме-тичне значення fi(aij)
90 7 89 -2 17
1 -4 8 56 32
-4 -6 –99 19 39
2 4 -7 0 75
41 22 80 -5
Код програми:
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <math.h>
using namespace std;
const int n=5;
const int m=5;
class Vector
{
private:
double V[m];
public:
friend void InputMatrix(Vector A[]);
friend void OutputMatrix(Vector A[]);
friend void Sort(Vector A[]);
friend void Dob(Vector A[]);
};
void InputMatrix(Vector A[])
{
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
cout<<"["<<i<<"]["<<j<<"] = ";
cin>>A[i].V[j];
}
}
void OutputMatrix(Vector A[])
{
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
cout<< setw(7)<<A[i].V[j]<<" ";
cout<<endl;
}
}
void Sort(Vector A[])
{
double value;
for (int i=0;i<n;i++)
for(int k = n-1; k>=0; k--)
for (int j=0;j<k;j++)
if (A[i].V[j]<A[i].V[j+1])
{
value=A[i].V[j];
A[i].V[j]=A[i].V[j+1];
A[i].V[j+1]=value;
}
}
void Dob(Vector A[])
{
long dob=1;
long sa;
long sums=0;
int k=0;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
dob=dob*A[j].V[i];
}
k++;
cout << k<< ")" << "Добуток стовпцiв = " << dob << "\n";
sums=sums+dob;
dob=1;
}
sa=sums/k;
cout << "Середне арифметичне = " << sa <<"\n";
}
void main(void)
{
setlocale(0,"");
Vector Bv[n];
cout<<"Введiть елементи матрицi Bv"<<endl;
InputMatrix(Bv);
cout<<"\nНевiдсортована матриця Bv "<<endl;
OutputMatrix(Bv);
Sort(Bv);
cout<<"\nВiдсортована матриця Bv "<<endl;
OutputMatrix(Bv);
cout << endl;
Dob(Bv);
_getch();
}
Результати
/