Разработка программного комплекса решения математической задачи численными методами

Автор работы: Пользователь скрыл имя, 26 Октября 2010 в 22:52, Не определен

Описание работы

Курсовая работа

Файлы: 1 файл

курсовая по программированию.doc

— 767.00 Кб (Скачать файл)

      }

      return 0;

}

matrix.cpp:

#include <locale.h>

#include <malloc.h>

#include <math.h>

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include "matrix.h"

#include "solution.h"

float** CreateMatrix(unsigned int NumRow, unsigned int NumCol) { 

      float **Pointer;

      Pointer = (float**) malloc(sizeof(float*) * NumRow);

      if (Pointer == NULL) {return 0;} 

      for (unsigned int i = 0; i < NumRow; i++) {

            Pointer[i] = (float*) malloc(sizeof(float) * NumCol);

            if (Pointer[i] == NULL) {return 0;}

      }

      return(Pointer);

}

void DelMatrix(float **Matrix, int NumRow) {

      for (int i = 0; i < NumRow; i++) {

            free(Matrix[i]);

      }

      free(Matrix);

      return;

}

int FullMatrix(float **Matrix, int NumRow, int NumCol) {

      char Number[255];

      int i = 0, NumErrors;

      while (i < NumRow) {

            NumErrors = 0;

            printf("\nВведите  %d-ую строку матрицы, отделяя  числа друг от друга пробелами  (дробную\nчасть от целой следует  отделять с помощью запятой):\n", i+1);

            for (int j = 0; j < NumCol; j++) {

                  scanf("%s", Number);

                  if (!ElementsCheck(&Matrix[i][j], Number)) {NumErrors++;} 

            }

            if (NumErrors == 0) {i++;}

      }

      return 0;

}

int PrintMatrix(float **Matrix, int NumRow, int NumCol) {

      for (int i = 0; i < NumRow; i++) {

            for (int j = 0; j < NumCol; j++) {

                  if (abs(Matrix[i][j]) < 1e-5) {printf("%10.5f", 0.0);} else {printf("%10.5f", Matrix[i][j]);}

            }

            printf("\n\n");

      }

      return 0;

}

main.cpp:

#include <conio.h>

#include <locale.h>

#include <stdio.h>

#include <stdlib.h>

#include "interface.h"

#include "help.h"

#include "matrix.h"

#include "solution.h"

int main(){

      setlocale(LC_ALL, "Russian");

      system("color F0");

      char Action = '\t';

      char Head[255];

      while (Action != 'q') {

            system("cls");

            system("color F0");

            Header("Меню", "=", 42);

            printf("\n\nВыберите действие:\n Решить СЛУ методом Гаусса (s)\n Перейти в раздел \"Справка\" (h)\n Выйти из программы (q)\n");

            Action = getch();

            if (Action != 'q' && Action != 'h' && Action != 's') {

                  Alert("Для навигации  в этом разделе меню вы можете  использовать только\nклавиши \"s\", \"h\" и \"q\". Раскладка клавиатуры должна быть английской.");

                  getch();

                  continue;

            }

            if (Action == 's') {

                  system("cls");

                  FindSolution();

                  continue;

            }

            if (Action == 'h') {

                  system("cls");

                  system("color 70");

                  Header("Меню >> Справка", "=", 42);

                  printf("\n\n");

                  StartHelp();

                  printf("\n");

                  GaussMethod();

                  printf("\n");

                  MemoryMatrix();

                  printf("\n\nДля возврата  в меню нажмите любую клавишу...");

                  getch();

            }

      }

      return 0;

} 

 

ЗАКЛЮЧЕНИЕ 

    В ходе выполнения курсовой работы были изучены принципы разработки программного комплекса решения математической задачи численными методами на примере решения системы линейных уравнений методом Гаусса. 

 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК 

    1. Ильин В. А., Позняк Э. Г. Линейная алгебра.- М.: ФИЗМАТЛИТ, 2005.- 280 с.

    2. Керниган Б., Ритчи Д. Язык программирования C.- М.: Вильямс, 2009.- 304 с

    3. ГОСТ 19.402-78 Описание программы.

    4. ГОСТ 19.502-78 Описание применения. Требования  к содержанию и оформлению.

    5. ГОСТ 19.504-79 Руководство программиста. Требования к содержанию и  оформлению.

    6. ГОСТ 19.401-78 Текст программы. Требования к содержанию и оформлению.

    7. ГОСТ Р 7.0.5 - 2008. БИБЛИОГРАФИЧЕСКАЯ ССЫЛКА. Общие требования и правила составления.

    8. СТАНДАРТЫ Липецкого государственного технического университета по оформлению и нормоконтролю учебных отчётов, работ, проектов /Составитель В.С. Зайцев. — Липецк, 2002. 32 с.

Информация о работе Разработка программного комплекса решения математической задачи численными методами