Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2014, 10:27   #1
ggod
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 39
По умолчанию среднее арифметическое

найти среднее арифметическое отрицательных элементов матрицы лежащей ниже главной диагонали и среднее арифметическое главной диагонали
ggod вне форума Ответить с цитированием
Старый 01.07.2014, 10:31   #2
Bruto
лишился icq
Пользователь
 
Аватар для Bruto
 
Регистрация: 23.03.2014
Сообщений: 34
По умолчанию

Код:
uses CRT;
var w:array [1..8, 1..8] of integer;
 i,j,k:integer;
 ser:real;
begin
ser:=0;
k:=0;
for i:=1 to 7 do * *{ввод матрицы и расчет количества минус. елем.}
begin
 for j:=1 to 7 do
 begin
w[i,j]:=random(200)-100;
if w[i,j]<0 then k:=k+1;
 end;
 w[i,8]:=k;
 k:=0;
end;

for i:=1 to 7 do * *{вывод на экран конечной матрицы}
begin
 for j:=1 to 8 do
 write(w[i,j]:4);
 writeln;
end;

for i:=1 to 7 do * *{нахожд. средн арефм гл. диоганали}
k:=k+w[i,i];
ser:=k/7;
writeln;
writeln(k:4);
end.
Код не мой но помочь может
Помог ответ-жми весы

Последний раз редактировалось Stilet; 01.07.2014 в 10:37.
Bruto вне форума Ответить с цитированием
Старый 01.07.2014, 11:34   #3
ggod
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Bruto Посмотреть сообщение
Код:
uses CRT;
var w:array [1..8, 1..8] of integer;
 i,j,k:integer;
 ser:real;
begin
ser:=0;
k:=0;
for i:=1 to 7 do * *{ввод матрицы и расчет количества минус. елем.}
begin
 for j:=1 to 7 do
 begin
w[i,j]:=random(200)-100;
if w[i,j]<0 then k:=k+1;
 end;
 w[i,8]:=k;
 k:=0;
end;

for i:=1 to 7 do * *{вывод на экран конечной матрицы}
begin
 for j:=1 to 8 do
 write(w[i,j]:4);
 writeln;
end;

for i:=1 to 7 do * *{нахожд. средн арефм гл. диоганали}
k:=k+w[i,i];
ser:=k/7;
writeln;
writeln(ser:4);
end.
Код не мой но помочь может
не сильно помогло но спасибо(проблема состоит не в главной диагонали а в том что ниже нее)

Последний раз редактировалось ggod; 01.07.2014 в 11:45.
ggod вне форума Ответить с цитированием
Старый 01.07.2014, 11:54   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
проблема состоит не в главной диагонали а в том что ниже нее
Нет ни какой проблемы, просто циклы чуть по другому
Код:
var w:array [1..8, 1..8] of integer;
...
for i:=2 to 8 do
  for j:=1 to i-1 do
... и вперед - анализируй, суммируй, за циклом дели для нахождения среднего
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.07.2014, 13:05   #5
ggod
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 39
Восклицание

Цитата:
Сообщение от Аватар Посмотреть сообщение
Нет ни какой проблемы, просто циклы чуть по другому
Код:
var w:array [1..8, 1..8] of integer;
...
for i:=2 to 8 do
  for j:=1 to i-1 do
... и вперед - анализируй, суммируй, за циклом дели для нахождения среднего
program ss;
var A:array[1..100,1..100] of integer; {переменная массива}
i,j,n:integer; {переменные для циклов}
sum,kol:integer; {переменные суммы и кол-ва}
srar:real;

begin
write ('Vvedite razmer massiva A');
readln (n); {считываем размер массива}

for i:=1 to n do
for j:=1 to n do begin
write ('A[',i,',',j,']='); readln (A[i,j]); end; {считываем сам массив}

write ('Vot vvedennyy vami massiv A- ');
for i:=1 to n do begin writeln;
for j:=1 to n do write (A[i,j]:3,' '); end; {выводим массив на экран}

sum:=0; kol:=0; {сумме и кол-ву присваиваем изначально нули}

for i:=1 to n do
for j:=1 to n do {циклами проходим по матрице}
if (A[i,j]<0) and (i>j) then {прописываем условия отрицательные и ниже диагонали}
begin
inc(kol);
sum:=sum+A[i,j];
end; {сумму и кол-во соответственно увеличиваем}
writeln;
srar:=sum/kol;
writeln('srar =',srar ); {выводим на экран среднее арифм}


readln;
end.

подходит?
ggod вне форума Ответить с цитированием
Старый 01.07.2014, 13:14   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
подходит?
Угу, тоже вариант, только мой чуть по-быстрей
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.07.2014, 13:18   #7
ggod
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 39
По умолчанию

program ss;
var A:array[1..100,1..100] of integer; {переменная массива}
i,j,n,k:integer; {переменные для циклов}
sum,kol:integer; {переменные суммы и кол-ва}
srar,ser:real;

begin
write ('Vvedite razmer massiva A');
readln (n); {считываем размер массива}

for i:=1 to n do
for j:=1 to n do begin
write ('A[',i,',',j,']='); readln (A[i,j]); end; {считываем сам массив}

write ('Vot vvedennyy vami massiv A- ');
for i:=1 to n do begin writeln;
for j:=1 to n do write (A[i,j]:3,' '); end; {выводим массив на экран}

sum:=0; kol:=0; {сумме и кол-ву присваиваем изначально нули}

for i:=1 to n do
for j:=1 to n do {циклами проходим по матрице}
if (A[i,j]<0) and (i>j) then {прописываем условия отрицательные и ниже диагонали}
begin
inc(kol);
sum:=sum+A[i,j];
end; {сумму и кол-во соответственно увеличиваем}
writeln;
srar:=sum/kol;
writeln('среднее арифметическое отриц.элем. под главной диагональю =',srar ); {выводим на экран среднее арифм}
for i:=1 to 4 do {нахожд. средн арефм гл. диоганали}
k:=k+a[i,i];
ser:=k/4;
writeln;
writeln('среднее арифметическое главной диагонали =',ser);
readln;
end.
ggod вне форума Ответить с цитированием
Старый 01.07.2014, 13:22   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
for i:=1 to 4 do {нахожд. средн арефм гл. диоганали}
Почему до 4, а не до n?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно определить, какое из данных 3 чисел среднее по значению. Среднее арифметическое считать НЕ надо vgfcb Помощь студентам 3 03.12.2013 20:24
Найти среднее арифметическое их квадратов и среднее арифметическое их модулей. (Турбо паскаль) erte Помощь студентам 1 30.10.2012 13:08
С++ Найти среднее арифметическое положительных и среднее арифметическое отрицательных чисел, минимальное по модулю число. Юрик 530 Помощь студентам 4 03.12.2011 16:26
Делфи.среднее геометрическое элементов массива.среднее арифметическое каждой строки матрицы Karrina Помощь студентам 0 06.12.2010 18:32