![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Serge Я! |
![]()
Сообщение
#1
|
Гость ![]() |
Кто-нибудь, помогите!
В матрице 5х5 и 7х7 найти средн. арифм. элементов, кратных трем, лежащих на главной и побочной диагонали. Сделать с помощью Procedure и Function. (В смысле, чтобы средн. арифм. вычислялось с процедурой, второй вариант - с функцией) Пробовал по-всякому, ну не получается... Help?! |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Покажи, как именно пробовал. Хотя бы 2 СВОИХ варианта приведи... Если "по всякому" - значит, у тебя их должно быть гораздо больше...
|
Serge Я! |
![]()
Сообщение
#3
|
Гость ![]() |
Да пожалуйста...
Вот: Код program matx; uses wincrt; var a:array[1..5,1..5] of integer; b:array[1..7,1..7] of integer; c:array[1..13] of integer; <- нужно ли??? i,j,x:integer; function func:real; begin ??? ??? end; begin randomize; for i:=1 to 5 do for j:=1 to 5 do a[i,j]:=random(9); for i:=1 to 5 do for j:=1 to 5 do write(a[i,j]:2); for i:=1 to 5 do for j:=1 to 5 do if (j=i) or (j=6-i) then if a[i,j] mod 3=0 then begin write(a[i,j]:2); x:=x+1; c[x]:=a[i,j]; end; writeln; for x:=1 to 13 do write(c[x]); writeln; {writeln(func);} end. Не знаю что делать... Может не нужен одномерный массив тут? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ну, вот так делается с помощью функции для главной диагонали. Остальное - подумай сам, как сделать...
const
n = 10;
type
mx = array[1 .. n, 1 .. n] of integer;
function average(var m: mx; n: integer): real;
var i, count, s: integer;
begin
s := 0; count := 0;
for i := 1 to n do
if m[i, i] mod 3 = 0 then begin
s := s + m[i, i];
inc(count);
end;
if count > 0 then average := s / count
else average := 0;
end;
var
a, b: mx;
i, j: integer;
begin
for i := 1 to 5 do begin
for j := 1 to 5 do begin
a[i, j] := random(9); write(a[i, j]:3);
end;
writeln;
end;
writeln(average(a, 5));
end.
|
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 2:39 |