Дан целочисленный вектор A(2n) - Pascal ABC
Формулировка задачи:
Дан целочисленный вектор A(2n). Если в векторе сумма S1=a1+ a2+...+an равна сумме
S2=an+1+ an+2+...+ a2n, то поменять местами первый и последний элементы вектора. На печать
выдавать исходный вектор, суммы S1, S2, преобразованный вектор.
Очень нужна помощь. Буду очень благодарна.
Решение задачи: «Дан целочисленный вектор A(2n)»
textual
Листинг программы
var a:array[1..20] of integer;
n,i,s1,s2,x:integer;
begin
write('Введите половину размера массива от 1 до 10 n=');
readln(n);
writeln('Введите ',2*n,' целых чисел');
for i:=1 to 2*n do
begin
write('a[',i,']=');
readln(a[i]);
end;
writeln('Исходный массив');
s1:=0;
s2:=0;
for i:=1 to 2*n do
begin
write(a[i],' ');
if i<=n then s1:=s1+a[i]
else s2:=s2+a[i];
end;
writeln;
writeln('s1=',s1,' s2=',s2);
if s1=s2 then
begin
x:=a[1];
a[1]:=a[2*n];
a[2*n]:=x;
writeln('Преобразованный массив');
for i:=1 to 2*n do
write(a[i],' ');
end
else write('s1<>s2');
end.
Объяснение кода листинга программы
- Создается переменная
aтипаarray[1..20] of integer. Это означает, чтоaпредставляет собой массив из 20 целых чисел. - Затем объявляются следующие переменные:
n,i,s1,s2,x- все они целого типа. - Выводится сообщение с просьбой ввести половину размера массива от 1 до 10, используя переменную
n. - Выводится сообщение с просьбой ввести
2*nцелых чисел. - В цикле
forсiот 1 до2*nпроисходит следующее:- Выводится сообщение с просьбой ввести элемент массива
a[i](предполагается, что пользователь вводит целое число). - Если
iменьше или равноn, то значениеa[i]добавляется к переменнойs1. - Если
iбольшеn, то значениеa[i]добавляется к переменнойs2.
- Выводится сообщение с просьбой ввести элемент массива
- Выводится сообщение с просьбой ввести еще один элемент массива
a[i](предполагается, что пользователь вводит целое число). - Выводится сообщение с просьбой ввести
2*nцелых чисел. - Выводится сообщение с просьбой ввести элемент массива
a[i](предполагается, что пользователь вводит целое число). - Если
s1равноs2, то присваивается значениеa[1]переменнойx. - Переменные
a[1]иa[2*n]меняются местами, то естьa[1]становитсяa[2*n]и наоборот. - Выводится сообщение с просьбой ввести элемент массива
a[i](предполагается, что пользователь вводит целое число). - Если
s1равноs2, то выводится сообщениеПреобразованный массив. - Если
s1не равноs2, то выводится сообщениеs1<>s2.