Предмет: Информатика,
автор: geniral2012
Дано: массивы R(10),Q(10),P(10). Сформировать массив X(3),где
X(1) - сумма элементов массива R, значения которых лежат в интервале [2;4];
X(2) - то же для массива Q;
X(3) - то же для массива P.
Вычисление суммы элементов массива, значения которыхлежит в интервале [2;4], оформить в виде подпрограммы.
PascalABC
Вот такие задачи нам задают.Прошу помощи.Заранее спасибо =)
Ответы
Автор ответа:
0
Вроде должно быть так, если есть какие-то вопросы по коду или вы нашли ошибку -
пишите в комментарии
пишите в комментарии
Приложения:
Автор ответа:
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
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.
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.
Приложения:
Автор ответа:
0
К каждой строке уж извини, не стал делать. Это ведь опухнуть можно)))
Автор ответа:
0
Строки тиап "writeln" уж сам как-нибудь прокомментируешь)))
Автор ответа:
0
Если серьезно, то пиши, какая строка непонятна, поясню
Автор ответа:
0
ого!Добра тебе =3
Автор ответа:
0
Спасибо! И тебе всего хорошего!
Похожие вопросы
Предмет: Химия,
автор: freestyle22123
Предмет: Математика,
автор: didon1404
Предмет: Қазақ тiлi,
автор: evelinapavlenko8
Предмет: Обществознание,
автор: sofa0134
Предмет: Химия,
автор: Аноним