Последовательно вводятся целые числа в одной строке. Количество их заранее неизвестно. Найти сумму попарных произведений соседних чисел: а1*а2+а2*а3+а3*а4+...
Категория: Delphi/Pascal
2012-02-04 18:00:55
code: #pascal
program ht; {************************************} var p,code:integer; {описание переменных} i,j,n:integer; sum:integer; s,x:string; A:array[1..100] of integer; begin write('Vvedite stroky cisel (cerez probel): '); readln(s); {считываем с клавы строку с числами } j:=0; {обнуляем кол-во чисел в строке} repeat {начало цикла записывающего числа из строки - в массив } inc(j); {увеличиваем счётчик кол-ва чисел в строке} p:=pos(' ',s); {смотрим где есть текущий пробел} x:=copy(s,1,p-1); {копируем число до пробела} if p=0 then x:=s; {если пробелов не осталось - то эта вся строка явл. числом} val(x,i,code); {преобразовываем строку-число в ЧИСЛО} A[j]:=i; {записываем текущее число в МАССИВ} delete(s,1,p); {удаляем из строки проверенное число } until p=0; {конец цикла} n:=j; {"n" присваиваем кол-во чисел (размер массива)} sum:=0; {обнуляем переменную с суммой} for i:=2 to n do sum:=sum+(A[i-1]*A[i]); {идём по массиву и вычисляем сумму по формуле} writeln('Summa= ',sum); {выводим получившеюся сумму на экран} readln; end.
Поделиться: