}
for (i=0; i<n; i++)
*(mas_fakt+i)=*(mass1+i);
}
if (det<0)
{r=*(mas_fakt+0);*(mas_fakt+0)=-1*r;}
free(mass1);
free(mass2);
}
int prost (int det)
{
int d, i, flag=1;
d=det;
if((d % 2==0 && d!=0 && d!=2) || d<0)
flag=0;
else
for (i=3; i<sqrt(d); i+=2)
if (d % i==0)
flag=0;
return flag;
В заключение данной курсовой работы хотелось бы кратко сказать о проделанной работе, о проблемах, с которыми столкнулся при выполнении поставленной цели, и о перспективах развития и улучшения данного программного продукта.
Целью данной курсовой работы было составить алгоритм генерации матриц по введенному определителю, размерности и диапазона элементов матрицы.
Чтобы выполнить поставленную цель, необходимо было решить три задачи:
1. Поиск литературы по предмету данной курсовой работы.
2. Составление алгоритма для выполнения поставленной цели.
3. Написание программы, реализующей составленный алгоритм.
При решении третьей задачи столкнулся с трудностью проверки корректности ввода данных. Необходимо было проверять, чтобы вводимый определитель удовлетворял диапазону элементов матрицы, т.е. введенный определитель, если является простым числом, то должен входить во введенный диапазон, и размерность матрицы должна быть больше двух.
Основными источниками, помогавшими выполнить поставленную цель, явились:
1. Книги по линейной алгебре, в которых содержался материал по теории матриц.
2. Книги по информатике и программированию.
Результатом данной курсовой работы стал алгоритм генерации матриц и написанная на его основе программа. Данная программа предназначена для работы с целыми числами. Одной из перспектив развития данного алгоритма является его улучшение для работы с действительными и комплексными числами, а программы – написание ее для работы со всеми числами: целыми, вещественными, комплексными.
Чтобы более полно использовать возможности алгоритма, его лучше реализовывать на тех языках программирования, у которых типы данных имеют достаточно большие диапазоны.
Надеюсь, что данная программа из области исследования при выполнении курсовой работы, при условии ее усовершенствования, выйдет в свет как полностью готовый к использованию программный продукт и будет востребован не только в целях методических разработок.
1.Ланкастер П. Теория матриц / Ланкастер П. – М.: Наука, 1982. – 272 с.
2.Линейная алгебра / Ильин В.А., Позняк Э.Г. – М.: Наука, 1978. – 304 с.
3.Кострикин А.И. Введение в алгебру / Кострикин А.И. – М.: Физико-математическая литература, 2001. – 368 с.
4.Писанецки С. Технология разряженных матриц / Писанецки С. – М.: Мир, 1988. – 410 с.
5.Гантмахер Ф.Р. Теория матриц / Гантмахер Ф.Р. – М.: Наука, 1988. – 552 с.
6.Подбельский В.В. Язык С++ / Подбельский В.В. – М.: Финансы и статистика, 2003. – 560 с.
7.Кетков Ю.Л., Кетков А.Ю. Практика программирования: Бейсик, Си, Паскаль. Самоучитель. / Кетков Ю.Л., Кетков А.Ю. – СПб.: БХВ – Петербург, 2002. – 480 с.
8.Мальцев А.И. Основы линейной алгебры / Мальцев А.И. – М.: Наука, 1970. – 400 с.
9.Крячков А.В., Сухинина И.В., Томшин В.К. Программирование на С и С++ / Крячков А.В., Сухинина И.В., Томшин В.К. – М.: Горячая линия – Телеком, 2000. – 344 с.
Таблица тестов.
В таблице приведены результаты некоторых тестов программы.
номер теста | входные данные | выходные данные |
1 | 02-100100 | |
2 | -103-50 50 | |
3 | -13-2450 | |
4 | 502-100 100 | |
5 | 1134-100 100 | Проверьте правильность ввода данных! Размерность должна быть > или равно 2. Определитель должен входить в диапазон, если является простым числом, или раскладываться на простые множители принадлежащие данному диапазону!!! |
6 | 13-24 50 |