Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.03.2012, 16:15
Twik Twik вне форума
Прохожий
 
Регистрация: 02.03.2012
Сообщения: 1
Репутация: 10
По умолчанию Помогите пожалуйста с матрицей

Есть файл 1.txt. Из него надо считать матрицу А. Потом нужно, чтобы программа из матрицы Е(единичной матрицы) вычла матрицу А, считанную из файла. Получившуюся матрицу В (В=Е-А) отобразить на форме и записать в другой файл.
Ответить с цитированием
  #2  
Старый 02.03.2012, 17:42
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

это как текст превратить в матрицу
PHP код:
type
  tline 
= array of double;
  
tmatrix = array of tline;


function 
split(sstringcchar=' '): string;
begin
  result 
:= StringReplace(sc#13#10, [rfReplaceAll]);
end;

function 
no_empties(sstring): string;
begin
  
while <> StringReplace(s#13#10#13#10, #13#10, [rfReplaceAll]) do
    
:= StringReplace(s#13#10#13#10, #13#10, [rfReplaceAll]);
  
result := s;
end;

function List(
sstring): TStringList;
begin
  result 
:= TStringList.Create;
  
result.Text := s;
end;

function 
line(sstring): tline;
var 
ssTStringList;
    
iinteger;
begin
  ss 
:= List(no_empties(split(s)));

  
setlength(resultss.Count);
  for 
:= 0 to ss.Count do
    
result[i] := StrToFloat(ss[i]);
  
ss.Free;
end;

function 
convert(ssTStringList): tmatrixoverload;
var 
iinteger;
begin
  setlength
(resultss.count);
  for 
:= 0 to ss.Count do
    
result[i] := line(ss[i]);
end;

function 
convert(sstring): tmatrixoverloadoverload;
var 
ssTStringList;
begin
  ss 
:= TStringList.Create;
  
ss.Text := s;
  
result := convert(ss);
  
ss.Free;
end;

function 
convert(atmatrixformatstring ''): stringoverload;
var 
ijinteger;
begin
  
for := 0 to length(a) - do
  
begin
    
for := 0 to length(a[i]) - do
    
begin
      
if <> 0 then result := result ' ';

      if 
format '' then
        result 
:= result FloatToStr(a[ij])
      else
        
result := result FormatFloat(formata[ij]);

    
end;
    
result := result #13#10;
  
end;
end;

procedure TForm1.Button1Click(SenderTObject);
begin
  DecimalSeparator 
:= '.';
  if 
memo1.Lines.Count 0 then memo1.text := '1 2 3'#13#10'2 2 2'#13#10'3 2 1';
  
memo2.text := convert(convert(memo1.text))
end
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:47.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025