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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2017, 17:29   #1
0525
 
Регистрация: 09.11.2017
Сообщений: 9
По умолчанию [Pascal ABC.NET] Подскажите, как в код вставить процедуру суммы, которая считала бы только те столбцы матрицы, которые я укажу?

Подскажите, как сюда вставить процедуру суммы, которая считала бы только те столбцы матрицы, которые я укажу?

Код:
program 123;
var a:array[1..20,1..20] of integer;
    j,i,n,y,z,m,s:integer;
begin
randomize;
writeln('Введите массив m и n: ');
Readln(m,n);
for i:=1 to m do
for j:=1 to n do
a[i,j]:=random(80)-50;
for i:=1 to m do
Begin 
for j:=1 to n do
write(a[i,j]:6);
writeln ;
end;
end.

Последний раз редактировалось 0525; 09.11.2017 в 17:42.
0525 вне форума Ответить с цитированием
Старый 10.11.2017, 00:05   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:
const nmax=20;
type TMyArray = array[1..nmax,1..nmax] of integer;

procedure SumColumn( M : TMyArray; countRow, IndexColumn : integer; var sum : integer);
var i:integer;
begin
   sum := 0;
   for i:=1 to countRow do sum := sum + M[i, IndexColumn];
end;

var a: TMyArray;
  MySum : integer;
.....

  SumColumn( a, m, 1, MySum);
  WriteLn('Сумма 1-го столбца равна ', MySum);

  SumColumn( a, m, 3, MySum);
  WriteLn('Сумма 3-го столбца равна ', MySum);
вопросы?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.11.2017, 08:57   #3
0525
 
Регистрация: 09.11.2017
Сообщений: 9
По умолчанию

1)Вы бы не могли бы объяснить цикл ( что в нем происходит )
2) Если я хочу сам ввести номера столбиков , которые я хочу сложить , то это нужно ввести новую переменную и к ней обращаться или как ?
0525 вне форума Ответить с цитированием
Старый 10.11.2017, 09:30   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от 0525 Посмотреть сообщение
1)Вы бы не могли бы объяснить цикл ( что в нем происходит )
могу. в цикле происходит суммирование элементов матрицы заданного переменной IndexColumn столбца.


Цитата:
Сообщение от 0525 Посмотреть сообщение
Если я хочу сам ввести номера столбиков , которые я хочу сложить , то это нужно ввести новую переменную и к ней обращаться или как ?
да это от Вас зависит. Хотите, вводите одну переменную, хотите, несколько.

вот так, например, можно просуммировать все столбцы:
Код:
  for i:=1 to n do begin
     SumColumn( a, m, i, MySum);
     WriteLn('Сумма ',i,'-го столбца равна ', MySum);
  end;
вопросы?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.11.2017, 12:47   #5
0525
 
Регистрация: 09.11.2017
Сообщений: 9
По умолчанию

Спасибо большое , теперь все понятно !
0525 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны два массива А и В. Разработайте программу, содержащую процедуру, которая находит среднеарифметическое ... (Pascal ABC) sasha_virtus95 Паскаль, Turbo Pascal, PascalABC.NET 3 16.11.2015 17:29
Проверьте код: Cоставить процедуру, которая в заданном массиве С заменяет нулями элементы, которые больше значения функции Xo6ut Общие вопросы Delphi 2 27.01.2014 20:24
Вычислить суммы и количества элементов ,находящихся в интервале от a до b для матриц А и В (Pascal ABC.NET) марфаз Паскаль, Turbo Pascal, PascalABC.NET 4 19.12.2013 08:48
Не могу найти необходимую процедуру для просмотра текстовых файлов в папке Pascal ABC.NET ameks94 Паскаль, Turbo Pascal, PascalABC.NET 4 13.12.2012 19:25