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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2012, 14:53   #1
SorryButNoob
Новичок
Джуниор
 
Регистрация: 21.01.2012
Сообщений: 1
По умолчанию Форматированный вывод (Delphi)

Подскажите, как сделать форматированный вывод: справа налево!
Код:
unit Unit88222;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TMatr= array of array of real;
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    OD: TOpenDialog;
    Panel1: TPanel;
    Memo1: TMemo;
    Memo2: TMemo;
    Splitter1: TSplitter;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
  procedure task(matrica:TMatr);
  public
   FMatr:TMatr;
   Matric:TMatr;
  end;
var
  Form1: TForm1;
  N,M:Integer;

implementation
{$R *.dfm}
function load(const Fname:string;var N:Integer;var M:Integer):TMatr;
var
F:TextFile;
I,J:Integer;
K:real;
Begin
Reset(F,Fname);
try
M:=0;
Result:=NIL;
while (NOT EOLN(F)) do
begin
read(F,K);
inc(M);
end;
if(M=0) then
exit;
N:=1;
readln(F);
while (NOT EOF(F)) do
begin
readln(F);
inc(N);
end;
SetLength(Result,N,M);
Reset(F);
for I:=0 to N-1 do
begin
for J:=0 to M-1 do
read(F,Result[I,J]);
end;
finally
closeFile(F);
end;
End;
procedure TForm1.task(matrica:TMatr);
var
I,J,K,max:Integer;
SR:real;
begin
max:=0;
SR:=0;
K:=0;
for J:=0 to M-1 do
begin
for I:=0 to N-1 do
begin
SR:=SR+matrica[I,J];
if matrica[I,J]>matrica[max,j] then
max:=I;
end;
SR:=SR/N;
if ((matrica[max,J]-SR)>matrica[0,J]) then K:=J;
SR:=0;
end;
for I:=0 to N-1 do
matrica[I,K]:=1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if(OD.Execute) then
FMatr:=load(OD.Filename,N,M);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
I,J:Integer;
S:String;
begin
Memo1.Clear;
for I:=0 to High(FMatr) do
begin
S:='';
for J:=0 to High(FMatr[i]) do
S:=S+floatToStr(FMatr[I,J])+' ';
//format('%5d',[FMatr[I,J]]);
Memo1.Lines.Add(S);
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
I,J:Integer;
S:String;
begin
Memo2.clear;
Matric:=FMatr;
SetLength(Matric,N,M);
task(Matric);
for I:=0 to High(Matric) do
begin
S:='';
for J:=0 to High(Matric[i]) do
S:=S+floatToStr(Matric[I,J])+' ';
//format('%5d',[FMatr[I,J]]);
Memo2.Lines.Add(S);
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;

end.
Исходная матрица:
Код:
50 40 -1 48
1 3 5 5
9 8 6 6
6 7 -1 6
Необходимо:
Код:
50 40 -1 48
 1  3  5  5
 9  8  6  6
 6  7 -1  6
SorryButNoob вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматированный вывод в Delphi7 Sanguineus Общие вопросы Delphi 5 24.05.2011 10:13
форматированный вывод Dimarik Общие вопросы C/C++ 5 12.03.2011 15:42
Форматированный вывод cout Airou Общие вопросы C/C++ 0 13.12.2010 13:41
Форматированный ввод/вывод на Си Кирилиус Помощь студентам 3 16.09.2009 15:12