Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ I HAУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
EMBED Word.Picture.8
ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 1
З КУРСУ “АЛГОРИТМИ І ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ СПЕЦІАЛЬНИХ КОМП’ЮТЕРНИХ СИСТЕМ”
Виконала : ст. гр. СТА-5
Львів -2005
Завдання
Написати програму алгоритмічною мовою С++: впорядкувати елементи рядків прямокутної матриці A={aij} за зростанням їх значень методом обміну; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування оформити у вигляді процедури; обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)).
fi(aij)-мінімальний елемент у кожному рядку матриці;
F(fi(aij))-добуток fi(aij).
Розробити два варіанти розв'язку задачі:
використовуючи клас двомірного масиву та функції-члени;
використовуючи клас одномірного масиву, функції-члени та дружні функції.
Тексти програм
#include<iostream.h>
const int N=3,M=4;
class Array
{
public:
void SetArray(double myArray,int i,int j) {theArray[i][j]=myArray;}
double GetArray( int i,int j) const {return theArray[i][j];}
void SortArray();
double F();
void PrintArray();
private:
double theArray[N][M];
};
void Array::PrintArray()
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
cout<<theArray[i][j]<<"\t";
cout<<"\n";
}
}
void Array::SortArray()
{
double A;
int i,j,k;
for(i=0;i<N;i++)
for(k=0;k<M;k++)
for(j=0;j<M-1;j++)
if (theArray[i][j]>theArray[i][j+1])
{
A=theArray[i][j];
theArray[i][j]=theArray[i][j+1];
theArray[i][j+1]=A;
}
}
double Array::F()
{
double f=1;
int i;
for(i=0;i<N;i++)
f*=theArray[i][0];
return(f);
}
int main()
{
Array myArray;
int i,j;
double A;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
{
cin>>A;
myArray.SetArray(A,i,j);
}
cout<<"\n***My Array***\n";
myArray.PrintArray();
myArray.SortArray();
cout<<"\n***Sorted Array***\n";
myArray.PrintArray();
for(i=0;i<N;i++)
cout<<"f("<<i<<")="<<myArray.GetArray(i,0)<<"\t";
cout<<"\nF="<<myArray.F()<<"\n";
return 0;
}
#include<iostream.h>
const int N=3,M=3;
class Array
{
public:
void SetArray(double myArray,int j) {theArray[j]=myArray;}
double GetArray( int j) const {return theArray[j];}
void SortArray();
double F(Array myArray[]);
void PrintArray()const;
private:
double theArray[M];
};
void Array::PrintArray()const
{
int j;
for(j=0;j<M;j++)
cout<<theArray[j]<<"\t";
}
void Array::SortArray()
{
double V;
int j,k;
for(k=0;k<M;k++)
for(j=0;j<M-1;j++)
if (theArray[j]>theArray[j+1])
{
V=theArray[j];
theArray[j]=theArray[j+1];
theArray[j+1]=V;
}
}
double Array::F(Array myArray[])
{
double f=1;
int i;
for(i=0;i<N;i++)
f*=myArray[i].theArray[0];
return(f);
}
int main()
{
Array myArray[N],funk;
int i,j;
double A;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
{
cin>>A;
myArray[i].SetArray(A,j);
}
cout<<"\n***My Array***\n";
for(i=0;i<N;i++)
{
myArray[i].PrintArray();
myArray[i].SortArray();
cout<<"\n";
}
cout<<"\n***Sorted Array***\n";
for(i=0;i<N;i++)
{
myArray[i].PrintArray();
cout<<"\n";
}
for(i=0;i<N;i++)
cout<<"f("<<i<<")="<<myArray[i].GetArray(0)<<"\t";
cout<<"\nF="<<myArray[2].F(myArray)<<"\n";
return 0;
}
Результати виконання програм:
EMBED PBrush
EMBED PBrush