Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ I HAУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ОЛІТЕХНІКА”
ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 1
З КУРСУ “АЛГОРИТМИ І ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ СПЕЦІАЛЬНИХ КОМП’ЮТЕРНИХ СИСТЕМ”
(Львів -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;
}
Результати виконання програм:
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!