Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2012, 11:03   #1
Vitek13
Новичок
Джуниор
 
Регистрация: 26.02.2012
Сообщений: 1
По умолчанию Реализация метода Гаусса для СЛАУ комплексных переменных (Delphi)!!!

Здравствуйте!!! Не могли бы вы , уважаемые форумчане ,подсказать в чем заключается моя ошибка. Учитывая то, что процедуры работы с компл.числами верны!


Код:
procedure TForm3.Button1Click(Sender: TObject);
  var a,a1: Matrix;
      b,b1,x,x1: Vector;
      h,h1,Q,W,e: Complex;
      i,i1,j,j1,k,k1,n,n1:integer;
begin
  //Ввод данных
  //Размерность системы
  n := StrToIntDef(Text, StringGrid1.ColCount);
  n1 := StrToIntDef(Text, StringGrid3.ColCount);
  //Коэффициенты
  for j := 0 to n - 1 do
    for i := 0 to n - 1 do begin
      a[i + 1, j + 1].re:= StrToFloatDef(StringGrid1.Cells[j, i], 0);
      a[i + 1, j + 1].im:= StrToFloatDef(StringGrid3.Cells[j, i], 0);
      end;
  //Правая часть уравнения
  for I := 0 to n - 1 do begin
  b[i + 1].re := StrToFloatDef(StringGrid2.Cells[0, i], 0);
  b[i + 1].im := StrToFloatDef(StringGrid4.Cells[0, i], 0);
  end;
  //Прямой ход - исключения переменных 
  for i:=1 to n-1 do
    for j:=i+1 to n do
    begin
      del(a[j,i],a[i,i],a[j,i]);
      a[j,i].re:=-a[j,i].re;
      a[j,i].im:=-a[j,i].im;
      end;
      for k:=i+1 to n do  begin
         Multicomplex(a[j,i],a[i,k],Q);
         AddComplex(a[j,k],Q,a[j,k]);
         Multicomplex(a[j,i],b[i],W);
         AddComplex(b[j],W,b[j]);
    end;
    del(b[n],a[n,n],x[n]);
    //Обратный ход - нахождения корней
    for i:=n-1 downto 1 do
    begin
      h:=b[i];
      for j:=i+1 to n do begin
        Multicomplex(x[j],a[i,j],E);
        Sub(h,E,h);
       del(h,a[i,i],x[i]);
    end;         end;
    for i:=1 to n do ListBox1.Items.Append('x(' + IntToStr(i) + ')=' + floattostr(x[i].re));
    for i:=1 to n do ListBox2.Items.Append('x(' + IntToStr(i) + ')=' + floattostr(x[i].im));
Vitek13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для решения СЛАУ методом Гаусса неверно считает (Delphi) Lisёноk Помощь студентам 7 25.09.2011 12:50
Метод гаусса для решений СЛАУ Вечно грустная... Помощь студентам 1 21.09.2011 23:17
программа для решения СЛАУ методом Гаусса Natalie023 Помощь студентам 5 17.07.2011 13:31
Метод Гаусса с выбором главного элемента для решения СЛАУ lira_slava Помощь студентам 3 21.05.2009 20:56