Дано: массивы R(10),Q(10),P(10). Сформировать массив X(3),где X(1) - сумма элементов...

0 голосов
107 просмотров

Дано: массивы R(10),Q(10),P(10). Сформировать массив X(3),где

X(1) - сумма элементов массива R, значения которых лежат в интервале [2;4];

X(2) - то же для массива Q;

X(3) - то же для массива P.

Вычисление суммы элементов массива, значения которыхлежит в интервале [2;4], оформить в виде подпрограммы.

PascalABC

Вот такие задачи нам задают.Прошу помощи.Заранее спасибо =)


Информатика (50 баллов) | 107 просмотров
Дано ответов: 2
0 голосов

Вроде должно быть так, если есть какие-то вопросы по коду или вы нашли ошибку -
пишите в комментарии

(4.7k баллов)
0

Спасибо,тебе,Незнакомец!Программа адекватна,вопросов нет!

0

Да, я тоже так хотел, но потом увидел, что требуется с подпрограммой сделать. У меня почти готово уже. Еще чуть-чуть осталось

0

И еще не выполнено требование: нужно сформировать массив Х, а его у тебя вообще нет.

0

Извини, насчет Х был не прав, но на тот экран одно значение s будет выведено, а не элементы Х

0 голосов

Type arr = array[1..10] of integer; {создаем новый тип, являющийся массивом}
var
  i:integer;
  s:real;
  R,Q,P:arr;                                 
  X:array[0..3] of integer;

function Sum(a: arr): integer;  {функция вычисления суммы элементов массива}
var i:integer; 
begin
foreach i in a do                   {вычисляем сумму элементов по заданному правилу}
  if (i>=2) and (i<=4) then Result :=Result+i<br>end;                                     {результатом функции будет сумма}

begin
randomize;          {заполняем массивы случайными числами}
for i:=1 to 10 do
  begin
  R[i]:=random(10);
  Q[i]:=random(10);
  P[i]:=random(10)
  end;
write('R: ');                 {распечатываем содержимое массивов на экране}
for i:=1 to 10 do write(R[i],' ');
writeln;
write('Q: ');
for i:=1 to 10 do write(Q[i],' ');
writeln;
write('P: ');
for i:=1 to 10 do write(P[i],' ');
writeln;           {а тут собственно само решение задачи}
X[1]:=Sum(R);{передаем в ф-цию Sum массив R, она считает сумму и записывает в Х1}
writeln('X[1]=',X[1]); 
X[2]:=Sum(Q);{передаем в ф-цию Sum массив Q, она считает сумму и записывает в Х2} 
writeln('X[2]=',X[2]); 
X[3]:=Sum(P);{передаем в ф-цию Sum массив P, она считает сумму и записывает в Х3} 
writeln('X[3]=',X[3])
end.

0

=) спасибо, с рандомайзом тоже хорошо,лишнее время без него тратиться)

0

Интересно бы было увидеть {комментарий к каждой строке }

0

Попробую, если еще можно изменить ответ

0

в комментариях =D

0

Может, комменты не очень по научному сделал, но, надеюсь, понятно?

0

К каждой строке уж извини, не стал делать. Это ведь опухнуть можно)))

0

Строки тиап "writeln" уж сам как-нибудь прокомментируешь)))

0

Если серьезно, то пиши, какая строка непонятна, поясню

0

ого!Добра тебе =3

0

Спасибо! И тебе всего хорошего!