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

0 голосов

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

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

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

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

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

PascalABC

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


спросил от (50 баллов) в категории Информатика
2 Ответы
0 голосов
ответил от Одаренный (4.7k баллов)

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

оставил комментарий от (50 баллов)

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

оставил комментарий от

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

оставил комментарий от

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

оставил комментарий от

Извини, насчет Х был не прав, но на тот экран одно значение 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.

оставил комментарий от (50 баллов)

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

оставил комментарий от (50 баллов)

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

оставил комментарий от

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

оставил комментарий от (50 баллов)

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

оставил комментарий от

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

оставил комментарий от

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

оставил комментарий от

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

оставил комментарий от

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

оставил комментарий от (50 баллов)

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

оставил комментарий от

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

...