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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2011, 09:18   #1
darik2011
 
Регистрация: 21.11.2011
Сообщений: 6
По умолчанию Процедуры и функции хотел спросить

program Alina5;
uses crt;
type mas=array[1..10,1..10] of integer;
var a,b:mas; n,m,k,l,s,v,z,g,h:integer;
procedure matrixin(var x:mas; row,col:integer);
var i,j:integer;
begin
writeln('______Vvod elementov______');
writeln('');
for i:=1 to row do begin
writeln('Vvod elementov ',i,' stroki');
for j:=1 to col do
readln(x[i,j]); end;
end;

procedure matrixout(var x:mas; row,col:integer);
var i,j:integer;
begin
for i:=1 to row do begin
writeln;
for j:=1 to col do
write(x[i,j], ' ');
end;
end;

procedure zamena(var x:mas; row,col:integer);
var i:integer;
begin
for i:=1 to row do
if x[i,i]=0 then x[i,i]:=1;
end;

function sum(var x:mas;row,col:integer):integer;
var s, i,j,min, index: integer ;
begin
s := 0;
index:=0;
min:=x[1,1];
For i:=1 to row do
begin
For j:=1 to col do
begin
If x[i,j]<=min then
begin
min:=x[i,j];
index:=i;
end;
end;
end;
writeln ('min. element - ',min);
writeln ('stroka - ',index);

For i:=1 to row do
begin
For j:=1 to col do
begin
if i=index then
begin
s:=s+x[index, j];
end;
end;
end;
writeln ('summa elementov stroki - ',s);
h:=s;
g:=s;
end;
begin
clrscr;
writeln('razmernost Matrix A (kvadratnaya)');
readln(n,m);
writeln('razmernost Matrix B (kvadratnaya)');
readln(k,l);
matrixin(A,n,m);
matrixin(B,k,l);
clrscr;
writeln('_____MATRIX_A_____');
matrixout(A,n,m);
writeln ('');
writeln('_____MATRIX_B_____');
matrixout(B,k,l);
writeln ('');
writeln;
writeln('_____MATRIX_A_____');
matrixout(A,n,m);
writeln('');
sum(a,n,m);
writeln (h);
v:=h;
writeln('_____MATRIX_B_____');
matrixout(B,k,l);
writeln ('');
sum(b,k,l);
writeln(g);
z:=g;
if v>z then
begin
writeln ('max - MATRIX A');
end
else
begin
writeln ('max - MATRIX B');
end;
readln;
end.

вопрос такой где там написано фунцию сумма четных элементов?

Последний раз редактировалось darik2011; 24.12.2011 в 09:25.
darik2011 вне форума Ответить с цитированием
Старый 24.12.2011, 09:24   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
где там написано фунцию сумма четных элементов?
нет там такой функции
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 24.12.2011, 15:27   #3
darik2011
 
Регистрация: 21.11.2011
Сообщений: 6
По умолчанию

А как написать её?
darik2011 вне форума Ответить с цитированием
Старый 24.12.2011, 16:10   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

1) вариант "в лоб" просто запускаем цикл for c 1 до n в цикле проверяем если not Odd (a[i]) тогда sum := sum + a[i]
2) вариант перед циклом ставим развилку (см. выше) а сщетчик циклы инкриментируем 2.
З.Ы. не забудь инициализировать sum
Poma][a вне форума Ответить с цитированием
Старый 24.12.2011, 16:22   #5
darik2011
 
Регистрация: 21.11.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
1) вариант "в лоб" просто запускаем цикл for c 1 до n в цикле проверяем если not Odd (a[i]) тогда sum := sum + a[i]
2) вариант перед циклом ставим развилку (см. выше) а сщетчик циклы инкриментируем 2.
З.Ы. не забудь инициализировать sum
я практически не понимаю паскаль
можно подробнее? где мне нужно вписать вариант 1
спасибо)
darik2011 вне форума Ответить с цитированием
Старый 24.12.2011, 16:51   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
я практически не понимаю паскаль
сидите учите
Цитата:
где мне нужно вписать вариант 1
в своей функции!
Цитата:
можно подробнее?
создаёте функцию, формальными параметрами в которую передаёте свой массив и его размер, возвращаемое значение это ваша сумма! Всё просто!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 25.12.2011, 12:26   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
function SummChet (a : MyArr,  n : Integer, sum); {MyArr-тип твоего массива его укажешь в разделе тайп;n - кол-во элементов массива; summ- сумма четных элементов}
var
         i : Integer;
begin
         sum := 0;
         for i := 1 to n do
                  if not Odd(n) then
                          Inc(sum);
      
         SummChet := sum;
end;
З.Ы. не проверял
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции и процедуры ildarkazanova Паскаль, Turbo Pascal, PascalABC.NET 0 15.05.2011 15:41
всем привет =) по поводу смс спросить хотел kzmd Свободное общение 7 02.02.2011 06:03
Процедуры и функции. nex 9119 Помощь студентам 1 27.01.2011 21:58
Процедуры и функции... hohol90 Помощь студентам 3 25.10.2009 05:16
Процедуры и функции 11111 Помощь студентам 10 26.11.2007 15:06