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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2007, 20:06   #1
NeAlSe
Пользователь
 
Регистрация: 01.12.2007
Сообщений: 17
Стрелка Формирование квадратной матрицы порядка n по заданному образцу.

Народ! помогите, пожалуйста!

1__0__0_..._0____0____n
0__2__0_..._0____n-1__0
0__0__3_..._n-2__0____0
.___.__._.__ ._____.____.
.___.__._ .__._____.____.
.___.__.___._._____.____.
0__2__0_..._0_____n-1_0
1__0__0_..._0_____0___n

Последний раз редактировалось NeAlSe; 01.12.2007 в 20:12.
NeAlSe вне форума Ответить с цитированием
Старый 01.12.2007, 21:33   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Алгоритм заполнения:
Цитата:
if (j=i) or (j=n-i+1) then a[i,j]:=j
else a[i,j]:=0;
puporev вне форума Ответить с цитированием
Старый 05.12.2007, 00:00   #3
NeAlSe
Пользователь
 
Регистрация: 01.12.2007
Сообщений: 17
По умолчанию

а можно чуть подробнее..где этот алгоритм прописать, и тп. пожалуйсто.
NeAlSe вне форума Ответить с цитированием
Старый 05.12.2007, 00:03   #4
NeAlSe
Пользователь
 
Регистрация: 01.12.2007
Сообщений: 17
По умолчанию

и как вывести на TStringGrid, если можно
NeAlSe вне форума Ответить с цитированием
Старый 05.12.2007, 00:03   #5
NeAlSe
Пользователь
 
Регистрация: 01.12.2007
Сообщений: 17
По умолчанию

или как вывести по другому..
NeAlSe вне форума Ответить с цитированием
Старый 05.12.2007, 06:53   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вот вариант вывода в Memo и в Stringgrid.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var a:array[1..100,1..100] of integer; n,i,j:integer;
begin
n:= StrToInt(Edit1.Text);
for i:=1 to n do
for j:=1 to n do
  begin
    if (j=i) or (j=n-i+1) then a[i,j]:=j
    else a[i,j]:=0;
 end;
for i:=1 to n do
   begin
      memo1.Text:=memo1.Text + #13+#10;
      for j:=1 to n do
         memo1.Text:=memo1.Text+IntToStr(a[i,j])+'  ';
    end;
//В Stringgrid1 убрать фиксированные области
//размер ячеек примерно 24х24
Stringgrid1.ColCount:=n;
Stringgrid1.RowCount:=n;
 for j:=1 to n do //вывод по строкам
  for i:=1 to n do begin//вывод по столбцам
Stringgrid1.Cells[j-1,i-1]:=inttostr(a[i,j]);
end;
end;
end.
puporev вне форума Ответить с цитированием
Старый 05.12.2007, 13:19   #7
NeAlSe
Пользователь
 
Регистрация: 01.12.2007
Сообщений: 17
По умолчанию

Спасибо, все работает, в Stringgrid красивше получается ))
NeAlSe вне форума Ответить с цитированием
Старый 05.12.2007, 16:04   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Хорошо, что работает. Stringgrid конечно лучше, только по первости все путают колонки со столбцами и ноли с единицами. Поэтому не очень уважают. Чтобы компоненты на форме покрасивше были, можно на форму кинуть компонент XPManifest из Win32.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать рекурсивную функцию вычисления определителя квадратной матрицы Лёха Паскаль, Turbo Pascal, PascalABC.NET 1 23.03.2008 08:43
формирование матрицы (задание выполненно не могу найти сваю ошибку) КиношкА Помощь студентам 7 11.01.2008 03:50
Двумерные массивы. Формирование одномерного массива из сумм строк матрицы, кратных числу k (в С++) Fimogen Помощь студентам 3 19.11.2007 07:30