1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Igorok |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Репутация: 0 |
Помогите, плиз!
Дана целочисленная матрица. Определить минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы Надеюсь на вашу помощь! И вообще как определить наприммер сумму элементов побочной диагонали? |
![]() ![]() |
| Igorok |
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Репутация: 0 |
Вообще вся задача звучала так:
В одномерном массиве, состоящем из вещественных элементов вычислить: 1) максимальный элемент массива; 2) сумму элементов массива, расположенных до последнего положительного элемента. Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. А вот её решение: Код uses crt; var a: array [1..100,1..100] of integer; b: array [1..100] of integer; i,j,n,s: integer; summ, min, ukaz: integer; begin {************************Заполнение матрицы******************} randomize; clrscr; writeln('Введите размерность матрицы->'); readln(n); For i:=1 to n do begin For j:=1 to n do begin a[i,j] := random(10)-5; write (a[i,j]:2,' '); end; writeln; b[i]:= 0; min:=a[1,1]; end; {************************Сумма в столбцах********************} ukaz:=0; for j:=1 to n do begin s:=0; for i:=1 to n do if A[i,j] >= 0 then inc(s, A[i,j]) else begin s:=-1; ukaz:=ukaz+1; break end; if s >= 0 then writeLn(' Сумма в неотрицательном столбце-> ', s) else if ukaz=n then writeln('Положительных столбцов в матрице нет'); end; {************************Сумма выше диагоноли****************} writeln; writeln('Суммы диагоналей выше побочной диагонали(по модулю):'); For j:=1 to n-1 do Begin summ := 0; For i:=1 to n-j do summ := summ + abs(a[i,n-j-i+1]); b[j] := summ; if abs(b[j])<min then min:=abs(b[j]); write(b[j],' '); end; {*************************Сумма ниже диагоноли***************} writeln; writeln; writeln('Суммы диагоналей ниже побочной диагонали(по модулю):'); For j:=2 to n do Begin summ := 0; For i:=j to n do summ := summ + abs(a[i,n-i+j]); b[j+n-2] := summ; if abs(b[j+n-2])<min then min:=abs(b[j+n-2]); write(b[j+n-2],' '); end; writeln; {*************************Нахождение минимальной суммы по модулю**} { For i:=1 to 2*n-2 do Begin end; } writeln; writeln('Минимум среди сумм модулей элементов диагоналей, параллельных побочной->',abs(min)); readkey; end. Всем спасибо! |
Igorok Диагонали, параллельные побочной диагонали матрицы 11.02.2004 8:57
Анка Re: Диагонали, параллельные побочной диагонали мат 11.02.2004 12:02
Igorok Re: Диагонали, параллельные побочной диагонали мат 13.02.2004 14:36
Анка Re: Диагонали, параллельные побочной диагонали мат 14.02.2004 15:01
Igorok Re: Диагонали, параллельные побочной диагонали мат 16.02.2004 7:53
Евгений
Что-то я не понял как решать эту задачу? Подскажи… 8.12.2005 22:47![]() ![]() |
|
Текстовая версия | 23.12.2025 19:01 |