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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2007, 19:54   #1
Integral
Новичок
Джуниор
 
Регистрация: 09.12.2007
Сообщений: 1
По умолчанию Задача на матрицы

Дана квадратная матрица nxn, вывести на экран диагонали, параллельные главной, угловые элементы считать одноместными диагоналями.
пример:
1 2 3
4 5 6
7 8 9

необходимо получить на экране:
3
2 6
1 5 9
4 8
7
P.S. сделать надо для матрицы размеров nxn
Integral вне форума Ответить с цитированием
Старый 12.12.2007, 13:32   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Что-то интересно стало и решил. Наверное можно лучше, но работает.
Код:
program matr;
uses crt;
var n,i,j,k:integer;a:array[1..100,1..100] of integer;
begin
clrscr;
write('n=');readln(n);
randomize;
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        a[i,j]:=10*i+j;   //можно заполнить и вручную и random
        write(a[i,j]:3);  //так нагляднее
      end;
  writeln;
  end;
readln;
for k:=1 to n do           //выводим первую половину от a[1,n]
  begin                    //по главную диагональ
    for i:=1 to k do
      begin
        for j:=n-k+1 to n do
          if i=j-n+k then
             begin
               write(a[i,j]:3);
             end;
      end;
    writeln;
  end;
for k:=n-1 downto 1 do     // выводим ниже главной диагонали
  begin                    //можно две части объединить,  
    for i:=n-k+1 to n do   //но это еще немного думать надо
      begin
        for j:=1 to k do
          if i=j+n-k then
            begin
              write(a[i,j]:3);
            end;
      end;
    writeln;
  end;
readln;
end.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на матрицы щдуп Паскаль, Turbo Pascal, PascalABC.NET 3 26.06.2008 08:52
Задача на матрицы и массивы kaliha Помощь студентам 3 17.01.2008 23:46
Задача про седловую точку матрицы (С++) Fuckin_Princess Помощь студентам 3 28.11.2007 16:39
Задача с вводом матрицы на С Aero Помощь студентам 1 28.10.2007 14:50