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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2013, 18:29   #1
Eugene_A
 
Регистрация: 07.10.2012
Сообщений: 4
По умолчанию Работа с матрицами, компонент TStringGrid, не получается вывести столбец.

Здравствуйте.
Задали написать следующую программу:
Код:
{Написать программу, позволяющую создавать
матрицу (не более 3 строк и не более 4 столбцов -
по запросу). Вывести столбец, содержащий
максимальный элемент матрицы.}
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i,j:byte;
begin
stringgrid1.rowcount:=strtoint(inputbox('Ввод размерности','Количество строк - ','не более 3'));
stringgrid1.ColCount:=strtoint(inputbox('Ввод размерности','Количество столбцов - ','не более 4'));
if (stringgrid1.rowcount>3) or (stringgrid1.ColCount>4) then
showmessage('Неверный ввод')
else
begin
randomize;
for j := 0 to stringgrid1.ColCount-1 do
  for I := 0 to stringgrid1.RowCount-1 do
    stringgrid1.Cells[j,i]:=inttostr(random(12));
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var imax,jmax,i,j:byte;
begin
imax:=0;
jmax:=0;
for j := 0 to stringgrid1.ColCount-1 do
 for I := 0 to stringgrid1.RowCount-1 do
 if strtoint(stringgrid1.Cells[j,i])>strtoint(stringgrid1.Cells[jmax,imax])
 then
    begin
      imax:=i;
      jmax:=j;
    end;
panel1.Caption:=stringgrid1.cells[jmax,imax];
end;
end.
Не знаю как в TPanel вывести столбец с максимальным элементом, получается вывести только сам элемент. Пожалуйста, помогите.
Eugene_A вне форума Ответить с цитированием
Старый 11.05.2013, 18:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Tpanel для этого не предназначена.
Максимум что:
Код:
for i:=0 to stringgrid1.RowCount-1 do panel1.Caption:=panel1.Caption+IntToStr(stringgrid1.cells[jmax,i])+#13#10;
И то сомневаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.05.2013, 20:32   #3
Eugene_A
 
Регистрация: 07.10.2012
Сообщений: 4
По умолчанию

Не срабатывает - нельзя вызвать InToStr, у меня такая же ошибка была.
Без IntToStr получается, в панели числа выводятся в строку.
А какой компонент лучше использовать, чтобы числа в столбец выводились?

Последний раз редактировалось Eugene_A; 13.05.2013 в 20:39.
Eugene_A вне форума Ответить с цитированием
Старый 13.05.2013, 21:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
нельзя вызвать InToStr
Да, затупил. Сорри.
Цитата:
в панели числа выводятся в строку.
Значит как я и сказал панель для этого не предназначена. в Лфьел такой фокус должен пройти.
Цитата:
А какой компонент лучше использовать, чтобы числа в столбец выводились?
ListBox конечно )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вывести TStringGrid *table Hroft42 Общие вопросы C/C++ 0 02.11.2011 16:08
Компонент TstringGrid bot7 Помощь студентам 0 05.12.2010 16:30
Компонент TSTringGrid -COREY- Компоненты Delphi 3 08.04.2010 19:31
Компонент TStringGrid - текстовая таблица allmaestro Помощь студентам 1 11.10.2008 17:01
Как вывести один столбец в несколько??? M&Ms Microsoft Office Excel 9 21.07.2008 14:19