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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2011, 19:49   #1
havoc
 
Регистрация: 23.03.2011
Сообщений: 6
По умолчанию Как отобразить на форме матрицу? (Delphi)

здравствуйте, уважаемые!
пишу программу по обработке графов. в делфи.
подскажите пожалуйста как выводить матрицы переменной длинны на экран в удобном виде?
надо для контроля правильности обратки данных.
думал на отдельную форму мемо поместить, но как в него матрицу записать?
havoc вне форума Ответить с цитированием
Старый 23.03.2011, 20:07   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
думал на отдельную форму мемо поместить, но как в него матрицу записать?
да не вопрос. Только не забудьте обязательно в дизайнере для мемо задать моноширный шрифт (например, Courier New). для матрицы A размером N x M, элементы вещественные числа можно так:
Код:
  for i:=0 to N-1 do begin
    s := '';
    for j:=0 to M-1 do 
          s := s + Format('%8.2f  ', A[i, j]);
    Memo1.Lines.Append(s);
  end;
хотя, чаще для визуализации матриц используют компонент TStringGrid. Это фактически таблица, поэтому больше похоже на то, как в нашем представлении должна выглядеть матрица внешне..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.03.2011, 21:22   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

советую через TStringGrid.. как сказано было выше....

Код:
 StringGrid1.RowCount:=N+1;
  	 StringGrid1.ColCount:=M+1;   // изменение кол-ва столбцов и строк



 for i:=1 to m do
   for j:=1 to n do
  StringGrid1.Cells[i,j]:=IntToStr(Random(20));  // вывод на экран значений... у меня рандомные)
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 23.03.2011, 21:31   #4
Sauber
Пользователь
 
Регистрация: 21.11.2010
Сообщений: 54
По умолчанию

Цитата:
Код:


StringGrid1.RowCount:=N+1;
StringGrid1.ColCount:=M+1; // изменение кол-ва столбцов и строк



for i:=1 to m do
for j:=1 to n do
StringGrid1.Cells[i,j]:=IntToStr(Random(20)); // вывод на экран значений... у меня рандомные)
хм, боюсь в данном случае выведется транспонированная матрица, ибо в элементе StringGrid сначала читается столбец а потом строка и будет верно я думаю так:
Код:
 for i:=1 to m do
   for j:=1 to n do
  StringGrid1.Cellsj,i]:=IntToStr(Random(20));
Sauber вне форума Ответить с цитированием
Старый 23.03.2011, 22:26   #5
havoc
 
Регистрация: 23.03.2011
Сообщений: 6
По умолчанию

спасибо всем за помощь! StringGrid оказался действительно гораздо удобнее мемо.
про транспонированность уже заметил
havoc вне форума Ответить с цитированием
Старый 23.03.2011, 22:43   #6
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

при рандоме она не столь важна...
ну а так да... верное замечание... не раз про это забывал и на этом спотыкался)
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как на форме отобразить значения ТИЦ и PR сайта? Dux Работа с сетью в Delphi 4 13.03.2011 22:46
Как отобразить на форме содержимое HTML-документа? Alexpol Общие вопросы Delphi 13 09.01.2011 22:39
Как отобразить картинку из интернета на форме reyn90 Помощь студентам 0 01.06.2009 20:05
Как создать и отобразить на форме массив типа TImage YaFakir Мультимедиа в Delphi 3 26.03.2009 13:09
Отобразить URL на форме Андреy Общие вопросы Delphi 6 05.12.2008 16:11