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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2012, 18:58   #1
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
Восклицание pascal задача про диагонали матрицы

Здравствуйте уважаемые форумчанины...
Не могли бы вы мне помочь в объяснении задания:
Задана матрица NхM, где 1<N<20, 1<M<40. Упорядочить элементы матрицы по возрастанию на каждой диагонали.

Ведь у матрицы бывает две диагонали: главная и побочная, и эти диагонали есть только в квадратных матрицах, а у меня прямоугольные.... Значит выходит, что не првильно сформулированно задание?((((

Заранее спасибо!
tanek вне форума Ответить с цитированием
Старый 21.05.2012, 19:01   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Не совсем верно. Диагональ есть везде.

Вот про эти диагонали идёт речь:

000000
000000
000000

000001
000000
000000

000010
000001
000000

000100
000010
000001

001000
000100
000010

и т.д.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 23.05.2012, 02:12   #3
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

Я узнала сегодня у преподавателя.... там идет речь о квадратной матрицы....
Упорядочивание элементов идет по главной диагонали и ее параллельной....

Но я ни как не могу придумать алгоритм работы(((

Не могли бы вы мне подсказать???
Заранее спасибо)))
tanek вне форума Ответить с цитированием
Старый 23.05.2012, 08:54   #4
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Вот родил на работе за кружкой чая минут за 10.

Программа формирует рандомный массив, спрашивает у пользователя начало диагонали, а затем показывает числа на этой диагонали.

И я не думаю, что массив должен быть квадратным. Годится любой. 10 на 4 к примеру.

Код:
Program One;

Uses Crt;

Const xMax = 10;
       yMax = 4;

Var M : Array [1..xMax, 1..yMax] Of Integer;
    x, y, posX, posY : Integer;

Begin
ClrScr;
Randomize;
For y := 1 To yMax Do
    Begin
         For x := 1 To xMax Do
             Begin
                  M[x,y] := Random(90) + 10;
                  Write(M[x,y], ' ');
             End;
         Writeln;
    End;

Writeln;
Write('x : '); Readln(posX);
Write('y : '); Readln(posY);
Writeln;

While (posX <= xMax) And (posY <= yMax) Do
      Begin
           { ... }
           Write(M[posX, posY], ' ');
           posX := posX + 1; posY := posY + 1;
      End;


Readln;
End.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 23.05.2012, 09:46   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

рискну предположить, что требуется сортировка элементов на ВСЕХ диагоналей, параллельных главной диагонали (включая и на самой главной диагонали).
Изображения
Тип файла: jpg матрица_ил.jpg (22.2 Кб, 128 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.05.2012, 09:57   #6
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
рискну предположить, что требуется сортировка элементов на ВСЕХ диагоналей
Это само собой. Просили пример как "шевелиться" по этим диагоналям, насколько я понял.
Сливочное масло Valio - компиляция как по маслу

Последний раз редактировалось Valio; 23.05.2012 в 12:50.
Valio вне форума Ответить с цитированием
Старый 23.05.2012, 16:58   #7
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

Valio как я поняла, по вашему коду будет производится сортировка по одной диагонали, т.к. мы задаем начальную позицию элементов, мне же надо, как написал Serge_Bliznykov
Цитата:
рискну предположить, что требуется сортировка элементов на ВСЕХ диагоналей, параллельных главной диагонали (включая и на самой главной диагонали).
Я была бы безумно рада, если вы бы мне подсказали))).....
tanek вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сумма элементов квадратной матрицы расположенных выше главной диагонали (Pascal) Vogelfrei Помощь студентам 4 15.12.2011 20:38
Задача про матрицы Dzenin Паскаль, Turbo Pascal, PascalABC.NET 1 24.02.2011 16:55
произведение всех элементов, расположенных на главной диагонали и выше ее матрицы размером 4х4, Pascal __FIRST__ Помощь студентам 2 12.12.2008 02:43