Как найти среднее арифметическое матрицы паскаль

0 / 0 / 0

Регистрация: 08.04.2014

Сообщений: 3

1

Найти среднее арифметическое всех положительных элементов матрицы

28.05.2014, 12:31. Показов 4734. Ответов 4


Студворк — интернет-сервис помощи студентам

Если нетрудно, то, пожалуйста, напишите программу в соответствие с приложенной блок-схемой, т.к. она одобрена преподавателем, мне нельзя ее изменять. Должна быть возможность задавать размерность матрицы, а затем в цикле задавать сами переменные. Желательно написать программу полностью (с заданием переменных и т.п.) Заранее спасибо.

Миниатюры

Найти среднее арифметическое всех положительных элементов матрицы
 



0



erl27

906 / 754 / 833

Регистрация: 06.09.2013

Сообщений: 1,561

28.05.2014, 13:04

2

Лучший ответ Сообщение было отмечено Liu Kang как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var
  i, j, n, m, t: byte;
  S: integer;
  B: real;
  A: array[1..20, 1..20] of integer;
  
begin
  writeln('Введите N и M: ');
  readln(N, M);
  randomize;
  for i := 1 to n do begin
    for j := 1 to m do begin
      a[i, j] := random(100) - 50;
      write(a[i, j]:4)
    end;
    writeln
  end;
  writeln;
  S := 0; t := 0;
  for i := 1 to n do
    for j := 1 to m do
      if a[i, j] > 0 then begin;
        S := S + a[i, j];
        t := t + 1
      end;
  B := S / t;
  writeln('Среднее арифметическое: ', B:0:3)
end.

Добавлено через 1 минуту
Я добавил 19-ю строку и заменил в первом цикле 20 на n и m.



0



0 / 0 / 0

Регистрация: 08.04.2014

Сообщений: 3

28.05.2014, 14:55

 [ТС]

3

erl27, А можете, пожалуйста, пояснить строки 10, 13, 14 (почему именно “(a[i, j]:4)”) и 19? И действительно ли данная программа соответствует приложенной блок-схеме? Мне нужна возможность не только самостоятельно задавать размерность матрицы, но и возможность самому задавать значения каждого элемента матрицы. Также можете ли Вы посоветовать литературу, на которую я смогу ссылаться при защите работы? Спасибо.



0



erl27

906 / 754 / 833

Регистрация: 06.09.2013

Сообщений: 1,561

28.05.2014, 15:31

4

Лучший ответ Сообщение было отмечено Liu Kang как решение

Решение

Для ручного ввода:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
  i, j, n, m, t: byte;
  S: integer;
  B: real;
  A: array[1..20, 1..20] of integer;
  
begin
  writeln('Введите N и M: ');
  readln(N, M);
  writeln('Введите матрицу ', n, 'x', m, ':');
  for i := 1 to n do
    for j := 1 to m do
      read(a[i, j]);
  writeln;
  S := 0; t := 0;
  for i := 1 to n do
    for j := 1 to m do
      if a[i, j] > 0 then begin;
        S := S + a[i, j];
        t := t + 1
      end;
  B := S / t;
  writeln('Среднее арифметическое: ', B:0:3)
end.

Строка S := 0; t := 0; нужна для начальной инициализации суммы и индекса. Из литературы могу посоветовать:
Turbo Pascal 7.0 начальный курс (Фаронов В.В.)
Песни о паскале
Занимательные уроки с паскалем
Или какую-то другую книгу Фаронова.
Также можете посмотреть здесь: http://www.cyberguru.ru/programming/pascal/



0



0 / 0 / 0

Регистрация: 08.04.2014

Сообщений: 3

28.05.2014, 15:41

 [ТС]

5

erl27, огромное спасибо!



0





Знаток

(424),
закрыт



6 лет назад

Александр Устименко

Просветленный

(24306)


6 лет назад

var i, j, l, m: integer;
sum: real;
Q: array [1..100,1..100] of real;
A: array [1..100] of real;
begin
write (‘l=’);
readln(l);
write (‘m=’);
readln(m);
writeln (‘ИСходная матрица’);
for i:=1 to l do
begin
sum:=0;
for j:=1 to m do
begin
Q[i,j]:=-20+random(41);
write (Q[i,j]:7:2);
sum:=sum+Q[i,j];
end;
A[i]:=sum/m;
writeln (‘ ‘:5,’среднее арифметическое строки = ‘, sum/m:5:2)
end;
writeln (‘Вновь сформированная матрица’);
for i:=1 to l do
begin
sum:=0;
for j:=1 to m do
begin
Q[i,j]:=Q[i,j]-A[i];
write (Q[i,j]:7:2);
end;
writeln;
end;
end.

Matrix21. Дана матрица размера $$M times N$$. Для каждой строки матрицы с нечетным номером $$(1, 3, …)$$ найти среднее арифметическое ее элементов. Условный оператор не использовать.

Решение:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

program Matrix21;

var

  a:array [1..10,1..10] of integer;

  Sum,M, N, i, j:Integer;

begin

Write(‘N: ‘);

Readln(N);

Write(‘M: ‘);

Readln(M);

for  i:=1 to M do

  begin

   writeln(i,‘: ‘);

   for j:=1 to N do

    begin

     Write(j,‘ : ‘);

     Read(a[i,j]);

    end;

  end;

  i:=1;

  While (i<=M) do

   begin

    Sum:=0;

    for j:=1 to N do Sum:=Sum+a[i,j];

    Writeln(i,‘ Среднее арифметическое:’,Sum/N);

    i:=i+2;

   end;

end.

Другие задачи из раздела Matrix можно посмотреть здесь.

Вопрос по DCOMPermissions.psm1


19th April, 17:09


184


0

Некорректный скрипт для закрытия блока


14th April, 18:33


170


0

Doesn’t show model window


14th March, 22:20


169


0

прокидывать exception в блоках try-catch JAVA


11th March, 21:11


177


0

Пишу BAS-скрипты на запросах для несложных сайтов и Android-приложений.


9th February, 17:04


424


0

Помогите пожалуйста решить задачи


24th November, 23:53


998


0

Не понимаю почему не открывается детальное описание продукта


11th November, 11:51


405


0

Пишу скрипты для BAS только на запросах


8th November, 10:38


465


0

Как поднять свой VPN на Android?


4th November, 17:09


477


1

Нужно решить задачу по программированию на массивы


27th October, 18:01


622


0

Метода Крамера С++


23rd October, 11:55


504


0

помогите решить задачу на C++


22nd October, 17:31


521


0

Помогите решить задачу на python с codeforces


22nd October, 11:11


644


0

Generate Additional Engagement Image Masking Service


5th July, 07:34


735


0

Join Us Today Ghost Mannequin Effect Service


5th July, 07:10


920


0

Python с нуля


18th June, 13:58


810


0

Its Urban Malaysia Phone Number List Exceeds 


21st April, 08:09


937


1

橱柜并烤 手机号码 了一个纸杯蛋糕之后


6th April, 13:05


572


0

Все вопросы

По разделам

 

Дана матрица размера M ×N. Для каждой строки матрицы с нечетным номером (1, 3, …) найти среднее арифметическое ее элементов. Условный оператор не использовать.

const n=3;

var 
i, j, s, k: integer; 
sa: real; 
a: array [1..n, 1..n] of integer;

begin 
writeln(‘Ввод элементов матрицы’); 
for i := 1 to n do   
for j := 1 to n do   
begin     
write(‘a[‘, i, ‘,’, j, ‘]=’);     
readln(a[i, j]);   
end; 
s := 0;k := 0; 
for i := 1 to n do   
for j := 1 to 1 do   
begin     
s := s + a[i, j];     
k := k + 1;   
end; 
sa := s / k; 
writeln(‘Среднее арифметическое элементов матрицы = ‘, sa:2:2);
end.

Добавить комментарий