Помогите написать программу в паскале. За ранее спасибо.
Задача на одномерный массив.

Задание 2.
Задан одномерный массив MAS2 [1..10].
Массив объявите как константу типа Integer размером [1..10] со следующими значениями: (-7, 89, 64, -43, 4, 6, 8, -12, 55, 99)
Замените все положительные элементы одномерного массива на их квадраты, а отрицательные удвойте.
Результат вывести на экран.
Вычислить сумму всех элементов нового массива и вывести на экран.

Исходный массив Новый массив
-7 -14
89 7921
64 4096
-43 -86
4 16
6 36
8 64
-12 -24
55 3025
99 9801
Сумма элементов нового массива 24835

2

Ответы и объяснения

2013-06-21T19:13:11+00:00

Это Проверенный ответ

×
Проверенные ответы содержат надёжную, заслуживающую доверия информацию, оценённую командой экспертов. На "Знаниях" вы найдёте миллионы ответов, правильность которых подтвердили активные участники сообщества, но Проверенные ответы - это лучшие из лучших.


Program Denisqaa;
uses crt;
const mas2:array[1..10] of integer=(-7, 89, 64, -43, 4, 6, 8, -12, 55, 99);
var
  res: array[1..10] of integer;
  i,sum:integer;
begin
  writeln('+-----------------------------------------+');
  writeln('|            ПРОГРАММА  Denisqaa          |');
  writeln('+-----------------------------------------+');
  writeln('|   Исходный массив   |   Новый массив    |');
  writeln('+-----------------------------------------+');
  sum:=0;
  for i:=1 to 10 do
    begin
      if mas2[i]<0 then res[i]:=mas2[i]*2;
      if mas2[i]>0 then res[i]:=mas2[i]*mas2[i];
      if mas2[i]=0 then res[i]:=mas2[i];  
      sum:=sum+res[i];
      writeln('|    ',mas2[i]:8,'         |    ',res[i]:8,'       | ');
      writeln('+-----------------------------------------+');
    end;
  writeln();
  writeln('Сумма элементов нового массива ',sum)
end.

  • Sky09
  • профессор
2013-06-21T19:17:17+00:00

uses crt;
const
  a: array [1..10] of integer=(-7, 89, 64, -43, 4, 6, 8, -12, 55, 99);
var
  b:array[1..10] of integer; i,s:integer;
begin

  s:=0;
  writeln('Исходный массив');
  for i:=1 to 10 do
  begin
    write(a[i]:5);
    if a[i]>0 then b[i]:=sqr(a[i])
      else b[i]:=2*a[i];
  end;
  writeln;
  writeln('Новый массив');
  for i:=1 to 10 do
  begin
    write(b[i]:5);
    s:=s+b[i];
  end;
  writeln;

  writeln('Сумма элементов нового массива  ',s);
end.