Здравствуйте, машинка.
Комплексное число состоит из действительной и мнимой части, пусть R - действительная. Тогда число будет иметь вид a[i] = R+Mi, где i=[$8730$](-1). Сумма комплексных чисел в алгебраическом смысле выражается так:
a = q+wi
b = r+mi
a+b = (q+r) + (w+m)i
Дополнительные разъяснения можно посмотреть здесь:
URL >>.
Модулем комплексного числа называется длина вектора, представленного этим числом, следовательно вычисляется по формуле:
|r+mi| = [$8730$](r
2+m
2)
Можно посмотреть доказательство в
Википедии.
В приложении - решение на основании этих формул, ввод ручной из консоли. Всё должно быть ясно из комментариев.
Удачи!
Приложение:
uses crt; {подключаем модуль для процедуры очистки экрана}
Type Complex=Record {Запись, описывающая комплексное число}
R:real; {Действительная часть}
M:Real;
end;
Var a: array [1..50] of Complex; {Массив чисел}
c: array [1..50] of Real; {Массив модулей сумм}
i, n: integer;
tmp: Complex;
begin
writeln ('N (<=50): '); {Ввод данных}
repeat
readln (n);
if (n>50) then writeln ('N > 50!');
until n<=50;
writeln ('Elements: ');
for i:=1 to n do
begin
readln (a[i].R);
readln (a[i].M);
end;
clrscr; {Очистка экрана}
for i:=1 to n do {Вывод входных данных}
writeln (a[i].R:3:5, '+', a[i].M:3:5, 'i');
for i:=1 to n-1 do {Идём по элементам}
begin
tmp.R:= a[i].R+a[i+1].R; {Считаем сумму}
tmp.M:= a[i].M+a[i+1].M;
c[i]:= sqrt (sqr (tmp.R)+sqr(tmp.M)); {Считаем модуль}
end;
writeln ('Result:'); {Выводим результат}
for i:=1 to n-1 do
writeln (c[i]:3:5);
readln;
end.