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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2009, 14:22   #1
MyaSnIKs
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 28
По умолчанию Двумерный массив(1 задача)

Дана квадратная матрица порядка M. Вывести минимальные из элементов каждой ее диагонали, параллельной побочной диагонали

я написал:

Код:
begin
n:=strtoint(edit1.text);
for j:=1 to n do
for i:=1 to n do
a[i,j]:=strtoint(stringgrid1.Cells[i-1,j-1]);
for i:=1 to n do begin
minx:=a[i,(n-i+1)];
if a[i,(n-i+1)]<minx then begin
minx:=a[i,(n-i+1)];
end;   
Memo1.Lines.Add(inttostr(minx));
end;
end;
end.
Но при поиске он у меня просто выписывает в мемо побочную диоганаль всю и всё, я знаю.
я вот не могу понять как заставить его пробегать по всем диагоналям и как сделать чтобы он выписывал именно минимальные значения из них.
MyaSnIKs вне форума Ответить с цитированием
Старый 28.03.2009, 14:39   #2
antoha.by
Пользователь
 
Регистрация: 29.04.2008
Сообщений: 32
По умолчанию

Так я не понимаю смысл побочной паролельной диоганали. Что это такое?
Поэтому напишу для поиска миниума по диогоналям
Код:
var i,min1,n,min2:integer;
a:array[1..100,1..100] of integer;
begin
// Подразумевается, что массив A уже введен n - порядок массива
// min1 - минимальный элемент диоганали с верху в низ с лева на право
// min2 - минимальный элемент диоганали с низа в верх с лева на право
min1:=a[1,1];
min2:=a[1,n];
for i:=2 to n do
 begin
  if min1<a[i,i] then min1:=a[i,i];
  if min2<a[i,n-i+1] then min2:=a[i,n-i+1];
 end;
end;
antoha.by вне форума Ответить с цитированием
Старый 28.03.2009, 14:58   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Так я не понимаю смысл побочной паролельной диоганали. Что это такое?
Вот побочная диагональ:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1

Имеется в виду, что нужно найти минимумы для каждой "линии", параллельной побочной:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
и т.д.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.03.2009, 15:23   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

MyaSnIKs
Код:
var n : integer;
a : array[1..10,1..10] of integer;
i,j : integer;
minx : integer;
begin
n:=4;
for i:=1 to n do
 for j:=1 to n do
  a[i,j]:=strtoint(stringgrid1.Cells[j-1,i-1]);


for i:=1 to n do
 begin
 minx:=a[i,1];
 for j:=1 to i do
  if a[i-j+1,j]<minx then
   minx:=a[i-j+1,j];
 Memo1.Lines.Add(inttostr(minx));
 end;

 for i:=2 to n do
  begin
  minx := a[i,n];
  for j:=i to n do
   if a[j,n-j+i]<minx then
    minx := a[j,n-j+i];
  Memo1.Lines.Add(inttostr(minx));
  end;
end;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.03.2009, 15:32   #5
MyaSnIKs
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 28
По умолчанию

огромное спасибо всем, разобрался, всё работает.
MyaSnIKs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на двумерный массив maliyusha Паскаль, Turbo Pascal, PascalABC.NET 5 30.12.2008 07:42
Повернуть двумерный массив на 180 градусов - задача на Pascal'е Sanakan Помощь студентам 7 15.12.2008 00:16
Двумерный массив Jodu Помощь студентам 18 05.12.2007 22:44
Двумерный массив help Imperceptible Паскаль, Turbo Pascal, PascalABC.NET 25 02.03.2007 20:00