IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> 2 матрицы, найти среднее арифм., С помощью процедуры и функции...
сообщение
Сообщение #1


Гость






Кто-нибудь, помогите!
В матрице 5х5 и 7х7 найти средн. арифм. элементов, кратных трем, лежащих на главной и побочной диагонали. Сделать с помощью Procedure и Function. (В смысле, чтобы средн. арифм. вычислялось с процедурой, второй вариант - с функцией)
Пробовал по-всякому, ну не получается... Help?!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Покажи, как именно пробовал. Хотя бы 2 СВОИХ варианта приведи... Если "по всякому" - значит, у тебя их должно быть гораздо больше...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.

Не знаю что делать... Может не нужен одномерный массив тут?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 23.08.2017 22:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"