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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2010, 00:58   #1
Blue Heron
Новичок
Джуниор
 
Регистрация: 17.03.2010
Сообщений: 6
По умолчанию

Дана действительная квадратная матрицаN. Преобразовать матрицу по правилу: строку сномером N сделать столбцом с номером N, а столбец с номером N - строкой с номером.
И еще вопрос можно ли сделать так: что бы N вводилось с клавиатуры и п нему соответственно строился StringGrid с Rows и Cols равные N ???
Помогите кто чем может: утром сдавать....

2-й вопрос решен созданием Edit и соответствующей кнопки с кодом:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
n:=StrToInt(e1.Text);
sg.ColCount:=n;
sg.RowCount:=n;
Помогите плиз с первой частью?

Последний раз редактировалось Stilet; 17.03.2010 в 07:59.
Blue Heron вне форума Ответить с цитированием
Старый 17.03.2010, 08:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну если с потолка
Код:
 for i:=0 to n do
   for j:=0 to n do begin
    tag:=a[i,j];
    a[i,j]:=a[j,i];
    a[j,i]:=tag;
   end;
Не проверял но думаю сработает
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.03.2010, 11:19   #3
Blue Heron
Новичок
Джуниор
 
Регистрация: 17.03.2010
Сообщений: 6
Восклицание К сожалению не подходит...

нужно, что бы он вот эти строки {sg.Cells[i-1,n-1]:= ?; sg.Cells[n-1,j-1]:=?;} чему нибудь присваивал, видимо матрицам a и b, но либо типы не (Snring/Integer) совпадают, либо размеры(ошибка Array type required); но и самим матрицам размер от 1 до N не присвоишь, ибо N -число вводимое в Edit и считываемое через StrToInt...
Вот текст программы, может быть есть какие-то идеи???
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    sg: TStringGrid;
    e1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Button3: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
var n,i,j:integer;a,b:array[1..100,1..100] of integer;
begin
n:=StrToInt(e1.Text);
sg.ColCount:=n;
sg.RowCount:=n;
Randomize;
 for i:=1 to n do
 for j:=1 to n do
  begin
  a[i,j]:=random(201-100);
  b[i,j]:=random(201-100);
  sg.Cells[i-1,j-1]:=IntToStr(a[i,j]);
  sg.Cells[i-1,j-1]:=IntToStr(b[i,j]);
  end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var n,i,j:integer; a,b:array[1..100] of Integer;
begin
n:=StrToInt(e1.Text);
{обращение к строке}
for i:=1 to n do
for j:=1 to n do
 begin
 
 sg.Cells[i-1,n-1]:=?
 sg.Cells[n-1,j-1]:=?
 end;

end;

end.

Последний раз редактировалось Stilet; 17.03.2010 в 13:29.
Blue Heron вне форума Ответить с цитированием
Старый 17.03.2010, 12:42   #4
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Вам достаточно одной матрицы А и сделайте её глобальной. Тогда будет работать алгоритм предложеный Stilet
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные массивы Linker88 Паскаль, Turbo Pascal, PascalABC.NET 3 19.04.2009 22:31
Stringgrid, cells[m,n] и двумерные массивы.(#002) Очередной вопрос начинающего. Albert2008 Компоненты Delphi 4 28.07.2008 19:02