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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2010, 18:02   #1
serj-07
Пользователь
 
Аватар для serj-07
 
Регистрация: 07.03.2009
Сообщений: 68
По умолчанию Матрица

Подскажите пожалуйста матрица не хочет работать с дробными числами? С целыми работает в чем проблема. Спасибо!
Мы все учились понемногу
Чему-нибудь и как-нибудь!!!
serj-07 вне форума Ответить с цитированием
Старый 21.05.2010, 18:04   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

...........
にんじゃ

Последний раз редактировалось ROMA2PVT; 21.05.2010 в 18:07.
ROMA2PVT вне форума Ответить с цитированием
Старый 21.05.2010, 18:27   #3
serj-07
Пользователь
 
Аватар для serj-07
 
Регистрация: 07.03.2009
Сообщений: 68
По умолчанию

Код:
Type  Matr = array of array of real;

var
  Form1: TForm1;
     a: Matr;

   n: Longint;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

  begin
     try
      n:= StrToInt (Trim (Edit1.Text));
      Except
      MessageDlg ('Введите количество элементов в массивы.', mtError, [mbOk],0);
      exit
  end;

    SetLength(a,n,n);
    StringGrid1.RowCount:=2;
    StringGrid1.ColCount:=n;
    SetLength(a,n,n);
    StringGrid2.RowCount:=2;
    StringGrid2.ColCount:=n;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  i,j: Longint;
  f,f1,h:real;
   begin
      i:=0;
      f:= StrToFloat(StringGrid1.cells[i,0]);
      f1:=StrToFloat(StringGrid1.cells[i+1,0]);
       h:= f1-f;

        begin
         for i:=0 to n-1 do
          for j:=0 to 1 do
            a[i,j]:=StrToInt(StringGrid1.cells[i,j]);

              for i:=1 to n-2 do
           a[i,1]:=1/h*1/2*(a[i+1,1]-a[i,1]+a[i,1]-a[i-1,1]);
         end;

             for i:=0 to n-1 do
             for j:=0 to 2 do

             StringGrid2.Cells[i,j]:= floatToStr(a[i,j]);

    end;
end.
Мы все учились понемногу
Чему-нибудь и как-нибудь!!!
serj-07 вне форума Ответить с цитированием
Старый 21.05.2010, 19:00   #4
serj-07
Пользователь
 
Аватар для serj-07
 
Регистрация: 07.03.2009
Сообщений: 68
По умолчанию

Всем спасибо ошибку нашел
Мы все учились понемногу
Чему-нибудь и как-нибудь!!!
serj-07 вне форума Ответить с цитированием
Старый 21.05.2010, 19:34   #5
serj-07
Пользователь
 
Аватар для serj-07
 
Регистрация: 07.03.2009
Сообщений: 68
По умолчанию

Если можно еще один вопросик:
ответ для первого элемента получается правильно, а последующие нет. Они берут решённые результаты, а нужно из введенных на форме.

Код:


  begin
            for i:=1 to n-2 do
              a[i,0]:=1/h*1/2*(a[i+1,1]-a[i,1]+a[i,1]-a[i-1,1]);
            for i:=1 to n-2 do
              a[i,1]:=1/h*h*(a[i+1,1]-a[i,1]-a[i,1]+a[i-1,1]);
         end;

      for i:=1 to n-2 do
      for j:=0 to 2 do
      StringGrid2.Cells[i,j]:= floatToStr(a[i,j]);
Мы все учились понемногу
Чему-нибудь и как-нибудь!!!
serj-07 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
С++ матрица Айдар Помощь студентам 2 15.04.2010 08:44
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
МАТРИЦА (СИ) Freia Помощь студентам 5 19.12.2008 22:39
Матрица Almost456 Паскаль, Turbo Pascal, PascalABC.NET 11 07.12.2008 02:04