Студопедия — Лабораторная работа № 1. void max_m_m(massiv ob1, matriza ob2)
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторная работа № 1. void max_m_m(massiv ob1, matriza ob2)






{

float *b, max;

int n,m;

public:

matriza();

void ww_matriza();

void f_max();

void ww_max();

//Прототип дружественной функции

friend void max_m_m(massiv, matriza);

~matriza ()

{

...

}

};

//Объявление конструктора

matriza::matriza ()

{

...

}

//Объявление функции печати матрицы

void matriza::ww_matriza()

{

....

}

//Объявление функции обработки

void matriza::f_max()

{

max=*b;

for(int i=0;i<n;i++)

for(int j=0;j<m;j++)

if(*(b+i*m+i)) max=*(b+i*m+i);

}

void matriza::ww_max()

{

cout<<"\nmax massiva= "<<max;

}

//Объявление дружественной функции

void max_m_m(massiv ob1, matriza ob2)

{

float max_rez;

if (ob1.max > ob2.max) max_rez= ob1.max;

else max_rez= ob2.max;

printf("\n rez=%8.2f", max_rez);

}

//Основная функции

void main()

{

massiv y;

y.ww_massiv();

y.f_max();

y.ww_max();

getch();

matriza x;

x.ww_matriza();

x.f_max();

x.ww_max();

getch();

max_m_m(y, x);

}

 

Пример использования функции члена одного класса, дружественной другому классу.

//Неполное описание второго класса

class matriza;

//Описание структуры первого класса

class massiv

{ float *a,max;

int n;

public:

massiv();

void ww_massiv();

void f_max();

void ww_max();

void max_m_m(matriza);

~ massiv (){

delete[]a;

puts("\n rabotal destruktor massiva");}

};

//Объявление конструктора

massiv:: massiv ()

{

....

}

//Объявление фукции печати

void massiv::ww_massiv()

{

....

}

//Объявление функции обработки

void massiv::f_max()

{

max=*a;

for(int i=0;i<n;i++)

if(*(a+i)>max) max= *(a+i); }

//Объявление функции печати результата

void massiv::ww_max()

{

cout<<"\nmax massiva= "<<max;

}

//Описание структуры второго класса

class matriza

{

float *b,max;

int n,m;

public:

matriza();

void ww_matriza();

void f_max();

void ww_max();

//Прототип дружественной функции

friend void massiv::max_m_m(matriza);

~matriza ()

{

...

};

//Объявление конструктора

void matriza::matriza ()

{

...

}

//Объявление функции печати

void matriza::ww_matriza()

{

....

}

//Объявление функции обработки

void matriza::f_max()

{

max=*b;

for(int i=0;i<n;i++)

for(int j=0;j<m;j++)

if(*(b+i*m+i)) max=*(b+i*m+i);

}

//Объявление функции печати результата

void matriza::ww_max()

{

cout<<"\nmax massiva= "<<max;

 

}

//Объявление дружественной функции

void massiv::max_m_m(matriza ob2)

{

float max_rez;

if (max > ob2.max) max_rez= max;

else max_rez= ob2.max;

printf("\n rez=%8.2f", max_rez);

}

//-------------------------------------------

void main()

{

int k;

massiv y;

y.ww_massiv();

y.f_max();

y.ww_max();

matriza x;

x.ww_matriza();

x.f_max();

x.ww_max();

getch();

y.max_m_m(x);

}

Таблица 4.1 Варианты индивидуальных заданий

№ пп Тема задания Вариант печати Вариант друж. ф-ции
  Заданы матрица и массив. Подразумевается, что в них может быть несколько элементов, значение которых равно минимальному. Определить, где и на сколько таких элементов больше.    
  Заданы матрица и массив. Определить среднее арифметическое между суммой элементов матрицы и суммой элементов массива.    
  Заданы матрица и массив. Определить сумму всех элементов матрицы и элементов массива.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, где и на сколько больше отрицательных элементов.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, в каком объекте больше сумма всех элементов.    
  Заданы матрица и массив. Определить среднее арифметическое между максимальным значением элементов матрицы и максимальным значением элементов массива.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, сколько всего положительных элементов в обоих объектах.    
  Заданы матрица и массив. Определить в каком объекте больше элементов, значение которых меньше чем среднее арифметическое всех его элементов    
  Заданы матрица и массив. Определить в каком объекте больше элементов, значение которых больше чем (max+min)/2.    
  Заданы матрица и массив. Подразумевается, что в них может быть несколько элементов, значение которых равно минимальному. Определить, где и на сколько таких элементов больше.    
  Заданы матрица и массив. Определить среднее арифметическое между суммой элементов матрицы и суммой элементов массива.    
  Заданы матрица и массив. Определить сумму всех элементов матрицы и элементов массива.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, где и на сколько больше отрицательных элементов.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, в каком объекте больше сумма всех элементов.    
  Заданы матрица и массив. Определить среднее арифметическое между максимальным значением элементов матрицы и максимальным значением элементов массива.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, сколько всего положительных элементов в обоих объектах.    
  Заданы матрица и массив. Определить в каком объекте больше элементов, значение которых меньше чем среднее арифметическое всех его элементов    
  Заданы матрица и массив. Определить в каком объекте больше элементов, значение которых больше чем (max+min)/2.    
  Заданы матрица и массив. Определить, где больше процент отрицательных элементов, в матрице или в массиве.    
  Заданы матрица и массив. Найти сумму произведений элементов матрицы и элементов массива.    
  Заданы матрица и массив. Определить, где больше процент отрицательных элементов, в матрице или в массиве.    
  Заданы матрица и массив. Найти сумму произведений элементов матрицы и элементов массива.    
  Заданы матрица и массив. Заменить максимальный элемент матрицы максимальным элементом массива.    
  Заданы матрица и массив. Заменить максимальный элемент матрицы максимальным элементом массива.    
  Заданы матрица и массив. Определить, где больше произведение элементов в матрице или в массиве.    

4.3 Контрольные вопросы и практические задания:

1. Как объявить функцию дружественной классу?

2. являются ли дружественные функции членами класса?

3. имеют ли дружественные функции доступ к закрытым членам класса?

4. Где выполняется описание дружественной функции?

5. Что должна иметь в качестве передаваемого параметра дружественная функция?

6. Может ли быть функция дружественной сразу нескольким классам, как она при этом объявляется, какие имеет аргументы.?

7. Может ли метод класса быть дружественной функцией другому классу, как она при этом объявляется, какие имеет аргументы.?

Лабораторная работа № 1

«Определение конструктивных параметров
микроэлектронных узлов»







Дата добавления: 2015-10-01; просмотров: 212. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

Дизартрии у детей Выделение клинических форм дизартрии у детей является в большой степени условным, так как у них крайне редко бывают локальные поражения мозга, с которыми связаны четко определенные синдромы двигательных нарушений...

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия