Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 17.09.2017, 21:50   #1
p1onerw0w
Новичок
 
Регистрация: 17.09.2017
Сообщений: 2
Репутация: 10
По умолчанию Сложение всех элементов массива

Помогите с использованием Function
Задача:
Написать программу обработки двумерного массива, а в ней функцию, вычисляющую сумму элементов массива.

Никак не могу понять как правильно пользоваться Function когда создал матрицу, не могу понять как правильно. Вот моя матрица. Если кто-нибудь может отредактировать ее с использованием Function вычисляющую сумму элементов, то буду очень благодарен

program as123;

uses
crt;

const
n=4;
m=4;
var a: array[1..n] of array [1..m] of integer;
i,j:integer;
BEGIN
for i:=1 to n do begin
for j:=1 to m do begin
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
end;
end;
ClrScr;
writeln('Matrica A:');
for i:=1 to n do begin
for j:=1 to m do
write(' ',a[i,j]);
writeln;
begin
end;

end
end.
p1onerw0w вне форума   Ответить с цитированием
Старый 17.09.2017, 22:12   #2
Aleksandr H.
Glory 4 the Nation
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 1,964
Репутация: 711

skype: aleksandr.gryb
По умолчанию

С begin/end проблемы у тебя, вроде как не понимаешь когда использовать
Код:


program HelloWorld;
uses crt;
const
n=4;
m=4;
type mas = array[1..n] of array [1..m] of integer;
var a: mas ;
    i,j:integer;
function S(a:mas):integer;
var i,j:byte;
    ss:integer;
begin
    ss:=0;
    for i:= 1 to n do
        for j:=1 to m do
         ss:=ss+a[i,j];
     s:=ss
end;
BEGIN
randomize;
for i:=1 to n do 
for j:=1 to m do begin
    a[i,j]:=random(15);
    write(' a[',i,',',j,']=',a[i,j]);
end;
writeln('Matrica A:');
for i:=1 to n do begin
    for j:=1 to m do
     write(' ',a[i,j]);
     writeln;
    end;
Writeln('suma = ',s(a));
end.

__________________
Mailto: media.project@ukr.net
"спасибо" принимаются на webmoney: R676842461689, Z243088649038, U164738001305; AdvancedCash: U853633661253, E181662999107; ПриватБанк.UA
Aleksandr H. вне форума   Ответить с цитированием
Старый 17.09.2017, 22:15   #3
type_Oleg
Профессионал
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Адрес: Хазарский каганат
Сообщений: 2,353
Репутация: 1349
По умолчанию

Цитата:
Сообщение от p1onerw0w Посмотреть сообщение
а в ней функцию, вычисляющую сумму элементов массива.
Чтобы передавать функции массив в качестве аргумента, надо объявить тип:
Код:

type typArr2=array[1..n] of array [1..m] of integer;
var a: typArr2;

Сейчас можно описать функцию для суммы:
Код:

function sumMas(mas: typArr2):Integer;
// и т.д.

А в программе ее вызвать, например
Код:

 WriteLn(sumMas(a)); // вывод суммы

PS опередили ..
type_Oleg вне форума   Ответить с цитированием
Старый 17.09.2017, 22:59   #4
p1onerw0w
Новичок
 
Регистрация: 17.09.2017
Сообщений: 2
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
С begin/end проблемы у тебя, вроде как не понимаешь когда использовать
Да, учусь, многого не вдупляю. Спасибо за помощь, очень выручили

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Чтобы передавать функции массив в качестве аргумента, надо объявить тип:
Код:

type typArr2=array[1..n] of array [1..m] of integer;
var a: typArr2;

Сейчас можно описать функцию для суммы:
Код:

function sumMas(mas: typArr2):Integer;
// и т.д.

А в программе ее вызвать, например
Код:

 WriteLn(sumMas(a)); // вывод суммы

PS опередили ..
Буду учиться, большое спасибо
p1onerw0w вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложение конкретных элементов массива С++ nelord Общие вопросы C/C++ 1 15.01.2016 20:09
Сложение элементов каждой строки массива bloodykz Assembler 1 08.03.2013 07:58
Дан массив X(N).Найти среднеквадратичное всех элементов массива и заменить этим значение нулевые элементы массива. sev48fire Паскаль 3 21.06.2012 23:44
сложение элементов массива KateMM Assembler 1 09.06.2012 14:55
Отладка программы на MASM. Сложение элементов массива. Ibanez Wizard Assembler 2 22.02.2011 23:06




06:02.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru