Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 21.01.2012, 14:53   #1
SorryButNoob
Новичок
 
Регистрация: 21.01.2012
Сообщений: 1
Репутация: 10
По умолчанию Форматированный вывод (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 вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


08:11.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru