Дан целочисленный вектор 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.

Объяснение кода листинга программы

  1. Создается переменная a типа array[1..20] of integer. Это означает, что a представляет собой массив из 20 целых чисел.
  2. Затем объявляются следующие переменные: n, i, s1, s2, x - все они целого типа.
  3. Выводится сообщение с просьбой ввести половину размера массива от 1 до 10, используя переменную n.
  4. Выводится сообщение с просьбой ввести 2*n целых чисел.
  5. В цикле for с i от 1 до 2*n происходит следующее:
    • Выводится сообщение с просьбой ввести элемент массива a[i] (предполагается, что пользователь вводит целое число).
    • Если i меньше или равно n, то значение a[i] добавляется к переменной s1.
    • Если i больше n, то значение a[i] добавляется к переменной s2.
  6. Выводится сообщение с просьбой ввести еще один элемент массива a[i] (предполагается, что пользователь вводит целое число).
  7. Выводится сообщение с просьбой ввести 2*n целых чисел.
  8. Выводится сообщение с просьбой ввести элемент массива a[i] (предполагается, что пользователь вводит целое число).
  9. Если s1 равно s2, то присваивается значение a[1] переменной x.
  10. Переменные a[1] и a[2*n] меняются местами, то есть a[1] становится a[2*n] и наоборот.
  11. Выводится сообщение с просьбой ввести элемент массива a[i] (предполагается, что пользователь вводит целое число).
  12. Если s1 равно s2, то выводится сообщение Преобразованный массив.
  13. Если s1 не равно s2, то выводится сообщение s1<>s2.

Оцени полезность:

11   голосов , оценка 4.455 из 5
Похожие ответы