Обобщенное программирование, шаблоны - Программирование, компьютеры и кибернетика лабораторная работа

Обобщенное программирование, шаблоны - Программирование, компьютеры и кибернетика лабораторная работа




































Главная

Программирование, компьютеры и кибернетика
Обобщенное программирование, шаблоны

Разработка шаблонной функции FindMax, выполняющей поиск максимального элемента в массиве. Разработка шаблонного класса CMyArray, представляющего собой массив элементов некоторого типа. Иерархия классов и интерфейсов. Индексированный доступ к элементам.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Тема: обобщенное программирование, шаблоны
Разработайте шаблонную функцию FindMax, выполняющую поиск максимального элемента в массиве. В случае, если такой элемент присутствует, то значение максимального элемента должно быть занесено в аргумент maxValue, передаваемый по ссылке, а сама функция вернуть значение истина. В противном случае функция должна вернуть значение ложь.
static bool method(T[] t,ref T a)
Console.WriteLine("1 - Create String Array *");
Console.WriteLine("2 - Create Char Array *");
Console.WriteLine("3 - Create Int Array *");
Console.WriteLine("4 - Create Double Array *");
Console.WriteLine("5 - Create Byte Array *");
Console.WriteLine("**************************");
Console.Write("Enter array lenght : ");
int len_s = int.Parse(Console.ReadLine());
string[] stroki = new string[len_s];
bool prov_s = method(stroki, ref s_max_string);
Console.Write("Max element : " + s_max_string);
Console.Write("Enter array lenght : ");
int len_c = int.Parse(Console.ReadLine());
chars[i] = char.Parse(Console.ReadLine());
bool prov_c = method(chars, ref s_max_char);
Console.Write("Max element : " + s_max_char);
Console.Write("Enter array lenght : ");
int len_i = int.Parse(Console.ReadLine());
ints[i] = int.Parse(Console.ReadLine());
bool prov_i = method(ints, ref s_max_int);
Console.Write("Max element : " + s_max_int);
Console.Write("Enter array lenght : ");
int len_d = int.Parse(Console.ReadLine());
dbs[i] = double.Parse(Console.ReadLine());
bool prov_d = method(dbs, ref s_max_double);
Console.Write("Max element : " + s_max_double);
Console.Write("Enter array lenght : ");
int len_b = int.Parse(Console.ReadLine());
bytes[i] = byte.Parse(Console.ReadLine());
bool prov_b = method(bytes, ref s_max_byte);
Console.Write("Max element : " + s_max_byte);
Разработайте шаблонный класс CMyArray, представляющий собой массив элементов некоторого типа T.
Массив должен предоставлять следующие возможности:
· Возможность получения количества элементов
· Возможность индексированного доступа к элементам
· Возможность изменения длины массива
public MyGenericClass(MyGenericClass q)
public void ArrayResize(int newSize)
for (int i = 0; i < aa.Length; i++)
Console.WriteLine(" " + item + " ");
Console.WriteLine("1 - Create Array *");
Console.WriteLine("2 - Get Lenght Array *");
Console.WriteLine("3 - Get Element *");
Console.WriteLine("4 - Resize Array *");
Console.WriteLine("5 - Clear Array *");
Console.WriteLine("6 - Copy Array *");
Console.WriteLine("*************************");
Console.WriteLine("What array create? string,int,double,char?");
Console.Write("Enter array lenght: ");
index = int.Parse(Console.ReadLine());
a1 = new MyGenericClass(index);
Console.Write("Enter array lenght: ");
index = int.Parse(Console.ReadLine());
a2 = new MyGenericClass(index);
a2.ArrayAdd(int.Parse(Console.ReadLine()));
Console.Write("Enter array lenght: ");
index = int.Parse(Console.ReadLine());
a3 = new MyGenericClass(index);
a3.ArrayAdd(double.Parse(Console.ReadLine()));
Console.Write("Enter array lenght: ");
index = int.Parse(Console.ReadLine());
a4 = new MyGenericClass(index);
a2.ArrayAdd(char.Parse(Console.ReadLine()));
int ind_dost = int.Parse(Console.ReadLine());
Console.WriteLine(a1.GetElement(ind_dost - 1));
int ind_dost = int.Parse(Console.ReadLine());
Console.WriteLine(a2.GetElement(ind_dost - 1));
int ind_dost = int.Parse(Console.ReadLine());
Console.WriteLine(a3.GetElement(ind_dost - 1));
int ind_dost = int.Parse(Console.ReadLine());
Console.WriteLine(a4.GetElement(ind_dost - 1));
Console.Write("Enter new size : ");
int new_size = int.Parse(Console.ReadLine());
Console.Write("Enter new size : ");
int new_size = int.Parse(Console.ReadLine());
Console.Write("Enter new size : ");
int new_size = int.Parse(Console.ReadLine());
Console.Write("Enter new size : ");
int new_size = int.Parse(Console.ReadLine());
MyGenericClass copy_a1 = new MyGenericClass(a1);
MyGenericClass copy_a2 = new MyGenericClass(a2);
MyGenericClass copy_a3 = new MyGenericClass(a3);
MyGenericClass copy_a4 = new MyGenericClass(a4);
Имеется следующая иерархия классов и интерфейсов, моделирующих иерархию объектов в обществе (человек, учитель, ученик, студент, рабочий, аспирант):
Свойства, которыми обладают сущности данной иерархии:
string TemaDeklarazii { get; set; }
public string Surname { get; set; }
public string Otchestvo { get; set; }
public string NameScholl { get; set; }
public string NameKlass { get; set; }
return "PUPIL-" + " Name: " + Name + " Surname: " + Surname + " Otchestvo: " + Otchestvo + " Adress: " + Adress + " NameScholl: " + NameScholl + " NameKlass: " + NameKlass;
public string Surname { get; set; }
public string Otchestvo { get; set; }
public string NamePredmet { get; set; }
return "TEACHER-" + " Name: " + Name + " Surname: " + Surname + " Otchestvo: " + Otchestvo + " Adress: " + Adress + " NamePredmet: " + NamePredmet;
public string Surname { get; set; }
public string Otchestvo { get; set; }
public string NameUniver { get; set; }
public string NomerStud { get; set; }
return "STUDENT-" + " Name: " + Name + " Surname: " + Surname + " Otchestvo: " + Otchestvo + " Adress: " + Adress + " NameUniver: " + NameUniver + " NomerStud: " + NomerStud;
public string Surname { get; set; }
public string Otchestvo { get; set; }
public string Special { get; set; }
return "WORKER-" + " Name: " + Name + " Surname: " + Surname + " Otchestvo: " + Otchestvo + " Adress: " + Adress + " Special: " + Special;
class CAdvanceStudent : IAdvancedStudent, IStudent, IPerson
public string Surname { get; set; }
public string Otchestvo { get; set; }
public string NameUniver { get; set; }
public string NomerStud { get; set; }
public string TemaDeklarazii { get; set; }
return "ADVANCESTUDENT-" + " Name: " + Name + " Surname: " + Surname + " Otchestvo: " + Otchestvo + " Adress: " + Adress + " NameUniver: " + NameUniver + " NomerStud: " + NomerStud + " TemaDeklarazii: " + TemaDeklarazii;
public static List spisok_chel = new List();
Console.WriteLine("1 - Create Pupil *");
Console.WriteLine("2 - Create Teacher *");
Console.WriteLine("3 - Create AdvancedStudent *");
Console.WriteLine("4 - Create Student *");
Console.WriteLine("5 - Create Worker *");
Console.WriteLine("6 - Show List *");
Console.WriteLine("*****************************");
Console.Write("Enter Otchestvo: ");
Console.Write("Enter NameKlass: ");
Console.Write("Enter NameScholl: ");
cp.NameScholl = Console.ReadLine();
Console.Write("Enter Otchestvo: ");
Console.Write("Enter NamePredmet: ");
ct.NamePredmet = Console.ReadLine();
CAdvanceStudent cas = new CAdvanceStudent();
Console.Write("Enter Otchestvo: ");
cas.Otchestvo = Console.ReadLine();
Console.Write("Enter NameUniver: ");
cas.NameUniver = Console.ReadLine();
Console.Write("Enter NomerStud: ");
cas.NomerStud = Console.ReadLine();
Console.Write("Enter TemaDeklarazii: ");
cas.TemaDeklarazii = Console.ReadLine();
Console.Write("Enter Otchestvo: ");
Console.Write("Enter NameUniver: ");
cs.NameUniver = Console.ReadLine();
Console.Write("Enter NomerStud: ");
Console.Write("Enter Otchestvo: ");
foreach (IPerson item in List.spisok_chel)
Console.WriteLine(item.ToString());
Console.WriteLine("*********************************************************");
Понятия шаблонов функции и класса, правила описания на языке С++. Разработка и отлаживание в среде программирования программ, содержащих шаблоны функций и классов. Шаблон функции square, возвращающей квадрат переменной. Создание шаблона класса массива. лабораторная работа [162,6 K], добавлен 25.05.2013
Изучение элементов языка С++, программирование разветвлений и циклов с использованием операторов условного и перехода. Обработка одномерных массивов. Поиск максимального элемента массива с заданной размерностью. Листинги программы и результатов. курсовая работа [647,7 K], добавлен 05.02.2013
Краткое описание языка программирования С++. Алгоритм линейного выбора элемента, методов минимального (максимального) элемента и челночной сортировки. Анализ и разработка приложения, организующего сортировку массива данных пятью методами сортировки. реферат [614,8 K], добавлен 12.04.2014
Создание элемента управления для отображения карт, представляющих собой векторные изображений в формате Encapsulated PostScript. Поддержка использования программных интерфейсов. Разработка элемента управления, вписывание изображения в область компонента. дипломная работа [1,1 M], добавлен 11.11.2010
Очередь в циклическом массиве. Извлечение элемента из очереди. Анализ сложности алгоритма. Класс входных данных, для которых применим алгоритм или структура. Выбор средств разработки. Определение отображаемых элементов, проектирование интерфейса. курсовая работа [299,9 K], добавлен 07.06.2014
Поиск коэффициентов кубического уравнения. Расчет количества итераций для заданной погрешности по реккурентному соотношению. Заполнение матрицы по условию. Поиск наибольшего целочисленного элемента массива, не имеющего себе равных в другом массиве. контрольная работа [52,7 K], добавлен 20.12.2012
Алгоритмическое решение задач как метод формализации, его использование на современном этапе, применение информационных технологий. Разработка программы для определения функциональной зависимости в массиве данных с помощью языка программирования С++. курсовая работа [99,4 K], добавлен 04.11.2009
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Обобщенное программирование, шаблоны лабораторная работа. Программирование, компьютеры и кибернетика.
Описание Внешности Человека Сочинение Про Учителя
Реферат На Тему Правовые Аспекты Антикризисного Управления
Доклад: Афанасий Никитин
Курсовая работа: Естественные монополии и их регулирование
Контрольная работа по теме Анализ стихотворений Ахматовой
Кадровая Безопасность Предприятия Курсовая
Напиши Эссе На Тему Ювелирноа Искусство Андроновцев
Реферат по теме Уголовное право в России в X-XVIII веках
Доклад по теме Становление академизма
После Защиты Докторской Диссертации Психологическое Состояние
Курсовая работа по теме Анализ и совершенствование управленческой деятельности
Доклад по теме Мифологема Сталина
Творческая Работа На Тему Иконографичексие Сюжеты Древнерусской Живописи
Курсовая работа по теме Финансовая деятельность ООО 'Волобуев и Партнеры'
Император Фридрих I Барбароса. Роль его личности в истории
Курсовая работа по теме Особенности функционирования транснациональных корпораций
Дипломная Работа На Тему Кредитоспособность Заемщика
Реферат: Макроанализ реструктуризации РАО ЕЭС России
Сочинение: "Недоумение счастья". (Тема любви в рассказах И. Бунина)
Курсовые Работы На Тему Пропорции
Американская школа менеджмента - Менеджмент и трудовые отношения курсовая работа
Порядок визначення підсудності цивільних справ - Государство и право курсовая работа
Традиции и воинские ритуалы Российской армии - Военное дело и гражданская оборона реферат


Report Page