Автор работы: Пользователь скрыл имя, 13 Сентября 2011 в 12:12, курсовая работа
Разработать программу для решения системы линейных уравнений порядка N методом Гаусса с выбором главного элемента по столбцу и по строке. Исходные данные: порядок системы линейных уравнений N, матрица коэффициентов, вектор правых частей. Разработать тестовый пример для N=10 и определить погрешность расчета.
1. АНАЛИЗ И ПОСТАНОВКА ЗАДАЧИ 4
1.1 Постановка задачи 4
1.2 Анализ задания 4
1.3. Техническое задание 5
1.3.1. Спецификация данных 5
1.3.2. Функциональные спецификации 5
1.3.3. Спецификация оборудования 6
2. ПРОЕКТИРОВАНИЕ 7
2.1. Модель использования 7
2.2. Структурная модель 8
2.3. Алгоритмы программы 9
3. РАБОЧИЙ ПРОЕКТ. 15
3.1. Описание исходного кода программы. 15
3.2. Описание интерфейса программы 15
4. ТЕСТИРОВАНИЕ 18
ЗАКЛЮЧЕНИЕ 23
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 24
ПРИЛОЖЕНИЕ А 25
ПРИЛОЖЕНИЕ Б 38
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
//
this is automatically done for you by the framework.
void CfilereadDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context
for painting
SendMessage(
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRec
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1)
/ 2;
// Draw the icon
dc.DrawIcon(
}
else
{
CDialog::
}
}
// The system calls this function to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR
CfilereadDlg::OnQueryDragIcon(
{
return static_cast<HCURSOR>(m_hIcon);
}
int CfilereadDlg::ReadFile(void)
{
CFileDialog OpenDialog(true,"txt",m_
OpenDialog.
m_FileTitle=
m_FilePath=
listbox.AddString(
return 0;
}
void CfilereadDlg::OnBnClickedOk()
{
// TODO: Add your control notification handler code here
ReadFile();
}
void
CfilereadDlg::
{
// TODO: добавьте свой код обработчика уведомлений
OnSysCommand(IDM_
}
void
CfilereadDlg::
{
CStdioFile fOpen(m_FilePath,CFile::
CString st="";
CString tempAll="";
CString tempCh="";
int row=0,col=0;
while(fOpen.
{
row++;
}
fOpen.SeekToBegin(
listbox.AddString(
int decimal, sign;
int colPos, rowPos;
int i, j, k;
double max;
double temp;
int m_nCols;
int m_nRows;
double** farray;
double* parray;
unsigned int* ListVar;
double* x;
m_nRows=row;
m_nCols=m_nRows+1;
parray=new double[m_nRows*m_nCols];
farray=new double*[m_nRows];
for (i=0; i<m_nRows; i++)
{
*(farray+i)=parray+i*m_nCols;
}
ListVar=new unsigned int[m_nCols-1];
for (j=0; j<m_nCols-1; j++)
ListVar[j]=j+1;
x=new double[row];
for (i=0; i<m_nRows-1; i++)
x[i]=i+1;
for (i=0; i<m_nRows; i++)
{
CString tempNall="";
int j=0;
fOpen.
listbox.
st+=' ';
int l=st.GetLength();
for(
{
}
}
fOpen.Close();
listbox.AddString(
listbox.AddString(
for (k=0; k<m_nRows-1; k++)
{
colPos=rowPos=k;
max=farray[k][k];
for (i=k; i<m_nRows; i++)
for (j=k+1; j<m_nCols-1; j++)
if (abs(farray[i][j])>max)
{
max=farray[i][j];
rowPos=i;
colPos=j;
}
for (i=0; i<m_nRows; i++)
{
temp=farray[i][k];
farray[i][k]=farray[i][colPos]
farray[i][colPos]=temp;
}
for (j=0; j<m_nCols; j++)
{
temp=farray[k][j];
farray[k][j]=farray[rowPos][j]
farray[rowPos][j]=temp;
}
temp=ListVar[k];
ListVar[k]=ListVar[colPos];
ListVar[colPos]=temp;
for (j=m_nCols-1; j>=0; j--)
{
farray[k][j]/=farray[k][k];
}
for (j=0; j<m_nCols; j++)
farray[k][j];
for (i=k+1; i<m_nRows; i++)
for (j=m_nCols-1; j>=0; j--)
farray[i][j]-=farray[k][j]*
listbox.AddString("Далее -->")
for (i=0; i<m_nRows; i++)
{
tempAl
for (j=0; j<m_nCols; j++)
{
}
listbox.AddString(" ");
}
}
double s=0;
x[m_nRows-1]=farray[m_nRows-1]
farray[m_nRows-1][m_nCols-2];
for (i=m_nRows-2; i>=0; i--)
{
s=0;
for (k=i+1; k<m_nRows; k++)
s+=farray[i][k]*x[k];
x[i]=farray[i][m_nCols-1]-s;
}
listbox.AddString(
listbox.AddString(
for (i=0; i<m_nRows; i++)
{
tempCh
listbo
}
//UpdateData(
}
Файл filereadDlg.h
// filereadDlg.h : header file
//
#pragma once
#include
"afxwin.h"
// CfilereadDlg dialog
class CfilereadDlg : public CDialog
{
// Construction
public:
CfilereadDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
enum { IDD = IDD_FILEREAD_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange*
pDX); // DDX/DDV support
// Implementation
Информация о работе Разработка программы- "Решение СЛАУ методом Гаусса"