![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
MI666 |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
По заданной квадратной матрице размером 10*10 построить вектор длиной 19, элементы которого - максимумы элементов диагоналей, паралельных главной диагонали.
thanks... -------------------- welcome: http://www.m666.nm.ru/
motto: all comes with experience... |
trminator |
![]()
Сообщение
#2
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Элементы, стоящие на диагонали, параллельной главной:
x[i,j] : (i - j = c = const) c дает номер диагонали. В твоей матрице будут диагонали с номерами -9, -8, -7, ..., 0 (главная), 1, ..., 9 То есть можно просто пройти по матрице, выясняя, какой диагонали принадлежит текущий элемент, и запихивая его в соответствующий элемент вектора. ЗЫЖ: много же вам задали... ![]() -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
virt |
![]() ![]()
Сообщение
#3
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код program maxins_on_diags; var a:array[1..10,1..10]of integer; i,j,k:integer; b:array[1..19]of integer; v:integer; begin assign(input,'gdiagmax.in');reset(input); assign(output,'gdiagmax.out');rewrite(output); for i:=1 to 10 do for j:=1 to 10 do read(a[i,j]); for k:=1 to 10 do begin v:=-maxint-1; for i:=1 to 11-k do if a[i,k+i-1] > v then v:=a[i,k+i-1]; b[11-k]:=v; v:=-maxint-1; for i:=1 to 11-k do if a[k+i-1,i] > v then v:=a[k+i-1,i]; b[9+k]:=v; end; for i:=1 to 19 do write(b[i],' '); end. Прикрепленные файлы ![]() -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 14:53 |