Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/64: Рейтинг темы: голосов - 64, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 24.09.2019
Сообщений: 14

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

21.10.2019, 18:55. Показов 12453. Ответов 7

Студворк — интернет-сервис помощи студентам
2)Задана матрица A(M,N), где M<=25, N<=10. Определить средне арифметическое положительных элементов каждой строки этой матрицы. Результат записать в массив B(M). Количество строк и столбцов матрицы вводится по запросу. Вывсти матрицу и массив
Задачи через процедуру
Пожалуйста помогите
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2019, 18:55
Ответы с готовыми решениями:

Найти среднее арифметическое положительных элементов строки матрицы, в которой расположен min элемент главной диагонали
Помогите пожалуйста решить следующую задачу:

Найти среднее арифметическое каждой строки матрицы
Задача: Составьте программу вычисления среднего арифметического каждой строки матрицы В(N,N) и запишите данные значения в главную...

среднее арифметическое наименьших отрицательных элементов каждой строки матрицы
найти среднее арифметическое наименьших отрицательных элементов каждой строки матрицы FP{m;n} находящихся над главной диагональю. m=6

7
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
22.10.2019, 07:16
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
program Project1;
const
  mmax = 25;
  nmax = 10;
type
  TArr1 = array [1..mmax,1..nmax] of integer;
  TArr2 = array [1..mmax] of real;
 
procedure InfOutMatrix (arr: TArr1; marr,narr: integer);
// Процедура для вывода элементов двумерного массива на экран.
var
   i,j: integer;
begin
  for i:= 1 to marr do
    begin
    for j:= 1 to narr do
      Write(arr[i,j]:4);
    writeln;
    end;
end;
 
procedure InfInMatrix (var arr: TArr1; marr,narr: integer);
// Процедура для ручного ввода значений элементов массива.
var
   i,j: integer;
begin
for i:= 1 to marr do
    for j:= 1 to narr do
      begin
      write('Введите элемент ',i,' строки ',j,' столбца: ');
      Readln(arr[i,j]);
      end;
end;
 
procedure ArethRowArray (arr1: TArr1; marr,narr: integer; var arr2: TArr2);
// Процедура для нахождения среднего арифметического положительных элементов
// каждой строчки массива и занесение результатов в отдельный массив.
var
   i,j: integer;
   sum,count: integer;
begin
  for i:= 1 to marr do
    begin
      sum:= 0;
      count:= 0;
      for j:= 1 to narr do
        if arr1[i,j] > 0 then
          begin
            sum:= sum + arr1[i,j];
            inc(count);
          end;
      arr2[i]:= sum/count;
    end;
end;
 
procedure InfOutArray (arr: TArr2; marr: integer);
// Процедура для вывода элементов одномерного массива вещественных чисел на экран.
var
   i,j: integer;
begin
  for i:= 1 to marr do
    begin
      Write(arr[i]:6:2);
      if i mod 10 = 0 then
        writeln;
    end;
end;
 
var
   a: TArr1; //  Переменная для хранения двумерного массива.
   b: TArr2;  //  Переменная для хранения одномерного массива.
   m,n: integer;  // Переменные для хранения значений количества строк и столбцов.
begin
  writeln('Введите количество строк массива:');
  Readln(m);
  writeln('Введите количество столбцов массива:');
  Readln(n);
  InfInMatrix(a,m,n);
  writeln('Исходный массив:');
  InfOutMatrix(a,m,n);
  ArethRowArray(a,m,n,b);
  writeln('Среднее арифметическое положительных элементов массива по каждой строчке:');
  InfOutArray(b,m);
  Readln;
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
22.10.2019, 07:36
Что делать для строк, где нет положительных элементов?
Code
1
2
3
2 2
 -1 -1
  1  1
Упс.
0
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
22.10.2019, 12:23
bormant, точно "упс". Но в задании ничего не сказано, что нужно делать, если в строке нет положительных элементов. В задании
Цитата Сообщение от Vladimirpobeda Посмотреть сообщение
Результат записать в массив B(M).
Если в массив будут записаны нули, значит положительных элементов нет.
Согласно вашему (именно вашему) пожеланию, я могу сделать вывод в виде массива массивов. В первом массиве будут выводиться вещественные числа, а во втором - строковые комментарии к этим числам, а потом вывод в виде вертикальной таблицы. Сделать? (Наверное так и сделаю.)
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
22.10.2019, 13:38
ValentinNemo,
для начала достаточно не делить на 0.

Добавлено через 2 минуты
Тогда шанс вывести ожидаемый ответ сильно повысится ;-)
1
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
22.10.2019, 15:57
bormant, круто вы косяки ищете! Но я просто не знаю как реализовать наверное так:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure ArethRowArray (arr1: TArr1; marr,narr: integer; var arr2: TArr2);
// Процедура для нахождения среднего арифметического положительных элементов
// каждой строчки массива и занесение результатов в отдельный массив.
var
   i,j: integer;
   sum,count: integer;
begin
  for i:= 1 to marr do
    begin
      sum:= 0;
      count:= 0;
      for j:= 1 to narr do
        if arr1[i,j] > 0 then
          begin
            sum:= sum + arr1[i,j];
            inc(count);
          end;
      if count = 0 then
        arr2[i]:= 0
      else 
        arr2[i]:= sum/count;
    end;
end;
0
0 / 0 / 0
Регистрация: 24.09.2019
Сообщений: 14
23.10.2019, 17:22  [ТС]
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
type
mas1= array [1..25,1..10] of integer;
mas2= array [1..10] of real;
 
procedure Vvod (var a:mas1; var l,n: integer);
var i,j:integer;
begin
writeln('Введите количество строк массива');
readln(l);
writeln('Введите кол столбцов');
readln(n);
writeln('Введите массив');
for i:=1 to l do
for j:=1 to n do
begin
readln(a[i,j]);
end;
end;
procedure mult(a:mas1; var b:mas2; l,n: integer);
var i,j:integer;
sum,count:integer;
begin
for i:=1 to l do
begin
sum:=0;
count:=0;
for j:=1 to n do
if a[i,j]>0 then
begin
sum:=sum + a[i,j];
inc(count);
end;
if count=0 then
b[i]:=0
else b[i]:=sum/count;
end;
end;
procedure Vivod(a:mas1;b:mas2;l,n:integer);
var i,j:integer;
begin
writeln('Исходная матрица');
for i:=1 to l do
for j:=1 to n do
begin
writeln(a[i,j]);
end;
writeln('Полученный массив');
for j:=1 to n do writeln(b[j]);
end;
 
var
a:mas1;
b:mas2;
l,n:integer;
begin
Vvod(a,l,n);
mult(a,b,l,n);
Vivod(a,b,l,n);
readln;
end.
я сделал как у нас препод просит но чет не так матрицу стобцом выводит а массив вообще какая то хрен
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
23.10.2019, 22:29
Vladimirpobeda,
всё перепутать -- ведь это тоже дар...

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
29
30
31
32
33
34
35
36
37
38
const nMax=25; nMax=10; W=6; D=1;
type
  TMatr = array [1..nMax,1..mMax] of Integer;
  TVect = array [1..nMax] of Integer;
 
procedure AvgP(const a: TMatr; var v: TVect; n, m: Integer);
var i, j, k: Integer;
begin
  for i:=1 to n do begin
    v[i]:=0; k:=0;
    for j:=1 to m do if a[i,j]>0 then begin
      v[i]:=v[i]+a[i,j]; Inc(k);
    end;
    if k>0 then v[i]:=v[i]/k;
  end;
end;
 
procedure mRead(var a: TMatr; var n, m: Integer);
var i, j: Integer;
begin
  repeat Write('n m a(n,m): '); Read(n,m);
  until (n in [1..nMax]) and (m in [1..mMax]);
  for i:=1 to n do for j:=1 to m do Read(a[i,j]); ReadLn;
end;
 
procedure rWrite(const a: TMatr; const v: TVect; n, m: Integer);
var i, j: Integer;
begin
  WriteLn('A','':W*m,' AvgP');
  for i:=1 to n do begin
    for j:=1 to n do Write(a[i,j]:W); WriteLn(' |',v[i]:W:D);
  end;
end;
 
var a: TMatr; v: TVect; n, m: Integer;
begin
  mRead(a,n,m); AvgP(a,v,n,m); rWrite(a,v,n,m);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2019, 22:29
Помогаю со студенческими работами здесь

Найти среднее арифметическое значение каждой строки матрицы
Помогите пожалуйста. дана матрица H= размером (p x q). p=3; q=5; Найти среднее арифметическое значение каждой строки матрицы и...

Найти среднее арифметическое положительных элементов матрицы
Дается двумерный массив R, n, m &lt;= 12. Найти и вывести на экран средний положительный элемент с помощью процедур. Помогите пожалуйста....

Вычислить среднее арифметическое четных элементов каждой отдельной строки матрицы У(4, 5)
Вычислить среднее арифметическое четных элементов каждой отдельной строки матрицы У(4, 5).

Найти среднее арифметическое каждой строки матрицы и записать в вектор
найти среднее арифметическое каждой строки матрицы А . Сформировать из них вектор В 1 2,5 4,3 7,2 А = 0,3 ...

Найти в каждой строке матрицы среднее арифметическое четных элементов
Дана целочисленная прямоугольная матрица размера m×n, заполненная случайными числами. Найти в каждой строке матрицы среднее ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru