Задача по паскалю |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача по паскалю |
Elementary |
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
Условие:Дана матрица размером 7х7 элементов, случайным образом заполненная. Просчитать сумму элементов вспомогательной диагонали (i:=n-j+1), определите количество элементов > сумма/3.
Решение: program matr; var e,m,x,i,j:integer; A:array[1..7,1..7]of integer; begin for i:= 1 to 7 do begin for j:= 1 to 7 do begin A[i,j]:=random(10); write(' ',A[i,j]); end; writeln; end; for i:= 1 to 7 do m:=m+A[i,8-j]; for i := 1 to 7 do for j:= 1 to 7 do if A[i,j]> (m/3) then e:=e+1; writeln('Сумма ', m); writeln('>Сумма/3 ',e); end. Правильно решил? |
Krjuger |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Нет не правильно, у вас диагональ не та.
По вашему коду Цитата for i:= 1 to 7 do m:=m+A[i,8-j]; как вы можете вычитать j если у вас оно не меняется, вы выводите просто 1 столбец вашей матрицы. В вашем же задании дана подсказка. (i:=n-j+1), что говорит нам о том, что j менятся, а i зависит вот в таком вид поэтому должно выглядеть так:
|
Текстовая версия | 11.01.2025 5:53 |