profile
Опубликовано 5 лет назад по предмету Информатика от geniral2012

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

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

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

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

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

 

PascalABC

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

  1. Ответ
    Ответ дан PopCop312
    Вроде должно быть так, если есть какие-то вопросы по коду или вы нашли ошибку -
    пишите в комментарии
    1. Ответ
      Ответ дан geniral2012
      Спасибо,тебе,Незнакомец!Программа адекватна,вопросов нет!
    2. Ответ
      Ответ дан Аккаунт удален
      Да, я тоже так хотел, но потом увидел, что требуется с подпрограммой сделать. У меня почти готово уже. Еще чуть-чуть осталось
    3. Ответ
      Ответ дан Аккаунт удален
      И еще не выполнено требование: нужно сформировать массив Х, а его у тебя вообще нет.
    4. Ответ
      Ответ дан Аккаунт удален
      Извини, насчет Х был не прав, но на тот экран одно значение s будет выведено, а не элементы Х
  2. Ответ
    Ответ дан Аккаунт удален
    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
    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.
    1. Ответ
      Ответ дан Аккаунт удален
      К каждой строке уж извини, не стал делать. Это ведь опухнуть можно)))
    2. Ответ
      Ответ дан Аккаунт удален
      Строки тиап "writeln" уж сам как-нибудь прокомментируешь)))
    3. Ответ
      Ответ дан Аккаунт удален
      Если серьезно, то пиши, какая строка непонятна, поясню
    4. Ответ
      Ответ дан geniral2012
      ого!Добра тебе =3
    5. Ответ
      Ответ дан Аккаунт удален
      Спасибо! И тебе всего хорошего!
Самые новые вопросы