marysya60
?>

Дан массив размера n и целые числа k и l (1 ≤ k ≤ l ≤ n найти сумму элементов массива с номерами от k до l включительно.

Информатика

Ответы

kosharikclub
Язык не написан, значит могу написать на любом? Вот тебе JavaScript ;D

var arr = [], N, K, L, sum = 0; // (1 <= K <= L <= N)

N = Number(prompt('Введите размер массива (N)'));
K = Number(prompt('Введите K'));
L = Number(prompt('Введите L'));

for (let i = 0; i < N; i++) {
  arr[i] = Math.round(Math.random()*10);
  if (K <= i && L >= i) sum += arr[i];
}

console.log(`В массиве, размерностью ${N}, состоящем из чисел [${arr}], сумма элементов с позиции ${K} до ${L} (включительно), равна ${sum}`);
// Или alert(text);

Лог программы:
Введите размер массива (N): 15
Введите K: 3
Введите L: 12

В массиве, размерностью 15, состоящем из чисел [2,3,8,5,6,9,7,8,8,5,4,10,7,6,5], сумма элементов с позиции 3 до 12 (включительно), равна 69
o-lala88387
Const
  nn=100;
var
  a:array[1..nn] of integer;
  i,n,k,l,s:integer;
begin
  Randomize;
  Write('Количество элементов в массиве: '); Read(n);
  Write('Границы для суммирования: '); Read(k,l);
  { Считаем,что все введено корректно без проверки }
  Writeln('Элементы массива');
  s:=0;
  for i:=1 to n do begin
    a[i]:=Random(100);
    Write(a[i],' ');
    if i in [k..l] then s:=s+a[i]
    end;
  Writeln(#13#10,'Найденная сумма: ',s)
end.
 
Пример
Количество элементов в массиве: 13
Границы для суммирования: 3 9
Элементы массива
30 82 9 6 20 99 58 61 18 61 73 51 28
Найденная сумма: 271
salesrawtogo
Что касается конкретной программы
1. Описываем нужные нам переменные - это будут стороны прямоугольника a и b. Поскольку нигде ничего о размерах сторон не сказано, придется предположить, что они не обязательно будут целыми , мы опишем эти переменные, как вещественные (real), что позволит работать и с нецелыми значениями.
2. Из геометрии нам известны формулы периметра прямоугольника P=2 x (a+b) и площади прямоугольника S=a x b. Можно описать переменные P, S (тоже real), но смысла в этом нет, поскольку значения P и S нужны только для вывода результатов, так что проще написать нужные выражения непосредственно в операторе вывода.
3. Итак, с описанием переменных закончили, можно начинать основную программу ключевым словом begin. И сразу же пишем к нему завершающий end с точкой на конце - таковы правила языка Паскаль. Вся программа размещается между двумя этими ключевыми словами.
4. Сначала организуем ввод. Это два оператора. Первый оператор выводит так называемое "приглашение" - сообщает о том, что нужно ввести. Второй оператор - это сам ввод.
5. А теперь, как было сказано выше, организуем вывод результатов. Все это сделает один оператор вывода. Программа готова!

var
  a, b: real;

begin
  Write('Введите стороны прямоугольника: '); Readln(a, b);
  Writeln('Периметр равен ', 2 * (a + b), ', площадь равна ', a * b)
end.

Тестовое решение:
Введите стороны прямоугольника: 4 3.16
Периметр равен 14.32, площадь равна 12.64
bk4552018345
Const a=10;
type mas=array[1..a] of integer;
     mas1=array[1..3] of byte;
var R, Q, P:mas;
    X:mas1;
    i:byte;

procedure Form(var R, Q, P:mas);
var sr, sq, sp:byte;
begin
sr:=0;
sq:=0;
sp:=0;
for i:=1 to a do
 begin
 if (R[i]>=2) and (R[i]<=4) then sr:=sr+R[i];
 if (Q[i]>=2) and (R[i]<=4) then sq:=sq+R[i];
 if (P[i]>=2) and (R[i]<=4) then sp:=sp+R[i];
 end;
x[1]:=sr;
x[2]:=sq;
x[3]:=sp;
writeln('Massiv x');
for i:=1 to 3 do
write(x[i]:3);

end;

begin
randomize;
for i:=1 to a do
 begin
 R[i]:=random(10);
 Q[i]:=random(10);
 P[i]:=random(10);
 end;
writeln('Massiv r');
for i:=1 to a do
write(R[i]:3);
writeln;
writeln('Massiv Q');
for i:=1 to a do
write(Q[i]:3);
writeln;
writeln('Massiv P');
for i:=1 to a do
write(P[i]:3);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан массив размера n и целые числа k и l (1 ≤ k ≤ l ≤ n найти сумму элементов массива с номерами от k до l включительно.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

saniopt
kim-1971
ekatef45
Pochkun-Oleg
uchpaot
Goldglobe
Semenova1719
ПетросовичЗаславский
Перевести из 2 с.с. в 8 с.с. 1)110010010100 2)110100100111010
printlublino
delena6467
chumakanna17
Pogosyan Nataliya
Маринина_Елена
Васильевий
Zhanna417