-1 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 50
1

Подсчет суммы элементов в каждой строке и каждом столбце двумерного массива

24.10.2013, 13:27. Показов 1630. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составьте программу подсчета суммы элементов в каждой строке и каждом столбце двумерного массива. Число строк и столбцов произвольное. Массив задается с помощью функции случайных чисел.
Заменить максимальный элемент в каждой строке на (-1).
Вывести на экран исходную матрицу и полученный результат.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2013, 13:27
Ответы с готовыми решениями:

Подсчет суммы элементов в каждой строке и каждом столбце двумерного массива
Составьте программу подсчета суммы элементов в каждой строке и каждом столбце двумерного массива....

Подсчет суммы элементов в каждой строке и каждом столбце двумерного массива
Составьте программу подсчета суммы элементов в каждой строке и каждом столбце двумерного массива....

Найти суммы элементов в каждой строке и каждом столбце двумерного массива
Составьте программу подсчета суммы элементов в каждой строке и каждом столбце двумерного массива....

Подсчет суммы элементов в каждом столбце двумерного массива?
Всем привет, есть задача, создать динамический двумерный массив, посчитать сумму, и посчитать сумму...

1
993 / 521 / 102
Регистрация: 19.03.2013
Сообщений: 3,114
Записей в блоге: 19
24.10.2013, 14:37 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
const n = 4; m = 5;
type Tarr = array[1..n,1..m] of integer;
var myArr:Tarr;
    i,j,k:integer;
    maxElem:integer;
 
// процедура для заполнения массива типа tArr[n,m] вручную
 procedure ManualFillArray(n,m:integer;var arr:Tarr);
 var i,j:integer;
 begin
  writeln('Введите двумерный массив размера ',n,' x ',m );
  for i:=1 to n do
   for j:=1 to m do
    read(arr[i,j]);
 end;
 
  // процедура для заполнения массива типа tArr[n,m] random
  // @param a,b - диапазон рандома
 procedure RandomFillArray(n,m,a,b:integer;var arr:Tarr);
 var i,j:integer;
 begin
 randomize;
  for i:=1 to n do
   for j:=1 to m do
    arr[i,j]:=random(b-a+1)+a;
 end;
 
 // процедура заполняет массив типа tArr[n,m]
 procedure FillArrayByExpression(n,m:integer;var arr:Tarr);
 var i,j:integer;
 begin
  for i:=1 to n do
   for j:=1 to m do
    arr[i,j]:=i+2*j;
 end;
 
 // процедура печатает  массив типа tArr[n,m]
 procedure PrintArray(n,m:integer;var arr:Tarr);
 var i,j:integer;
 begin
  for i:=1 to n do
  begin
   for j:=1 to m do
   write(arr[i,j],' ');
   writeln;
  end;
 end;
 
  // @param j - столбец, в котором нужно найти сумму
 // @param n,m - границы массива arr
 function GetSumInColumn(j:integer;n,m:integer;arr:Tarr):integer;
 var i,sum:integer;
 begin
     sum:=0;
  for i:=1 to n do
      sum:=sum+arr[i,j];
    GetSumInColumn:=sum;
 end;
 
 // @param i - строка, в котором нужно найти сумму
 // @param n,m - границы массива arr
 function GetSumInRow(i:integer;n,m:integer;arr:Tarr):integer;
 var j,sum:integer;
 begin
     sum:=0;
  for j:=1 to m do
      sum:=sum+arr[i,j];
    GetSumInRow:=sum;
 end;
 
  // процедура печатает  массив типа tArr[n,m] c суммированием
 procedure PrintArrayWithSumm(n,m:integer;var arr:Tarr);
 var i,j:integer;
 begin
  for i:=1 to n do
  begin
   for j:=1 to m do
   write(arr[i,j],' ');
   writeln(' = ',GetSumInRow(i,n,m,arr));
  end;
  writeln('-------------------------');
  for j:=1 to m do
   write(GetSumInColumn(j,n,m,arr),' ');
   writeln;
 end;
 
// @param i - строка, в котором нужно найти сумму
 // @param n,m - границы массива arr
 // @return максимальное значение в строке
 function GetMaxInRow(i:integer;n,m:integer;arr:Tarr):integer;
 var j,max:integer;
 begin
     max:=arr[i,1];
  for j:=2 to m do
      if arr[i,j]>max then max:=  arr[i,j];
    GetMaxInRow:=max;
 end;
 
 begin
    //FillArrayByExpression(n,m,myArr);
    RandomFillArray(n,m,0,100,myArr);
    writeln('Исходная матрица:');
    PrintArrayWithSumm(n,m,myArr);
    
    for i:=1 to n do
      begin
        maxElem:= GetMaxInRow(i,n,m,myArr);
         for j:=1 to m do
          if myArr[i,j]=maxElem then myArr[i,j]:=-1;
      end;
      writeln('Результат:');
      PrintArray(n,m,myArr);
 
end.
0
24.10.2013, 14:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2013, 14:37
Помогаю со студенческими работами здесь

Подсчёт суммы элементов в каждом столбце двумерного массива
Собственно, если кого-то не затруднит, напишите схематический код подобной операции.

Найти суммы элементов в каждом столбце и минимальные элементы в каждой строке
Всем привет. Очень давно не работал с Pascal'ем и ни как не могу понять, что надо сделать, думаю у...

Подсчет суммы элементов массива отдельно в каждой строке
#include <iostream> #include <ctime> using namespace std; int main() { setlocale(LC_ALL,...

Вычислить суммы положительных элементов в каждой строке двумерного массива
Вычислить суммы положительных элементов в каждой строке двумерного массива в С++ Builder 6.0


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru