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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.02.2012, 18:52   #1
repchic
Пользователь
 
Регистрация: 07.12.2011
Сообщений: 19
По умолчанию Функции

пожалуйста помогите написать программу на Паскале
вот задание:Вычислить суммы положительных элементов массивов X(N), Y(M), Z(K).(N<=60 M<=60 K<=70).Заранее благодарен
repchic вне форума Ответить с цитированием
Старый 29.02.2012, 19:04   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Код:
sumX:=0;
sumY:=0;
sumZ:=0;
for i:=1 to N do
  if x[i]>0 then inc(sumX);
for i:=1 to M do
  if y[i]>0 then inc(sumY);
for i:=1 to k do
  if z[i]>0 then inc(sumZ);
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 29.02.2012, 20:27   #3
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

to whatever

ваша программа
Код:
sumX:=0;
sumY:=0;
sumZ:=0;
for i:=1 to N do
  if x[i]>0 then inc(sumX);
for i:=1 to M do
  if y[i]>0 then inc(sumY);
for i:=1 to k do
  if z[i]>0 then inc(sumZ);
вычислит количество, а не сумму положительных элементов

а задание вычислить сумму положительных элементов...
следовательно
Код:
sumX:=0;
sumY:=0;
sumZ:=0;
for i:=1 to N do
  if x[i]>0 then sumX:=sumX+x[i];
for i:=1 to M do
  if y[i]>0 then sumX:=sumY+y[i];
for i:=1 to k do
  if z[i]>0 then sumZ:=sumZ+z[i];
или, если вам все таки хочется использовать inc()
Код:
sumX:=0;
sumY:=0;
sumZ:=0;
for i:=1 to N do
  if x[i]>0 then inc(sumX, x[i]);
for i:=1 to M do
  if y[i]>0 then inc(sumY, y[i]);
for i:=1 to k do
  if z[i]>0 then inc(sumZ, z[i]);

Последний раз редактировалось unbanned; 29.02.2012 в 20:34.
unbanned вне форума Ответить с цитированием
Старый 29.02.2012, 20:43   #4
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Мой косяк, согласен.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 01.03.2012, 10:12   #5
repchic
Пользователь
 
Регистрация: 07.12.2011
Сообщений: 19
По умолчанию

спасибо огромное,но мне требовалось через функцию найти суммы положительных элементов
repchic вне форума Ответить с цитированием
Старый 01.03.2012, 10:17   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
function GetSum (const Mas: array of integer; const count: integer): integer;
var
    sum: integer;
    i: integer;
begin
    sum := 0;
    for i := 1 to count do
        if mas[i] > 0 then Inc(sum, mas[i]);
    GetSum := sum;
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.03.2012, 00:09   #7
repchic
Пользователь
 
Регистрация: 07.12.2011
Сообщений: 19
По умолчанию

у меня теперь следующий вопрос,вот я написал программу,но никак не могу додуматься как вывести сумму пол-х элементов массивов X,Y,Z.вот код:Program LabRab6;
Uses crt;
Type mas=array[1..200] of integer;
Var x,y,z:mas;
i,sum,count,n,m,k:integer;
Function GetSum(const mas:array of integer; const count:integer):integer;
Var sum:integer;
i:integer;
begin
sum:=0;
for i:=1 to count do
if mas[i]>0 then sum:=sum+mas[i];
sum:=sum+mas[i];
GetSum:=sum;
end;
begin
window(1,1,80,25);Textattr:=27;clrs cr;
randomize;
n:=60;m:=60;k:=70;
write('Massiv X');
for i:=1 to n do begin
x[i]:=random(61)-30;
write(x[i],':');
end;
writeln('Massiv Y');
for i:=1 to m do begin
y[i]:=random(61)-30;
write(y[i],':');
end;
writeln('Massiv Z');
for i:=1 to k do begin
z[i]:=random(71)-35;
write(z[i],'|');
end;
readkey;
end.
repchic вне форума Ответить с цитированием
Старый 04.03.2012, 00:16   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

например так
Код:
    Writeln ('Сумма положительных элементов массива X равна ', GetSum(X, n));
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.03.2012, 00:21   #9
repchic
Пользователь
 
Регистрация: 07.12.2011
Сообщений: 19
По умолчанию

Благодарю,огромное спасибо Hacker19_90
repchic вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача функции другой функции как аргумента C # stopanko C# (си шарп) 2 20.11.2011 13:13
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Мини бэйсик:объявление функции, вызов функции , возврат. AL_LORD Помощь студентам 2 14.10.2010 17:48
Программа на СИ++, используя функции работы с файлами и функции <string.h> Аня Popova Фриланс 9 13.09.2010 15:52
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07