Регистрация
Войти
Стать экспертом Правила
Информатика

Массивы Написать программу в PascalABC.NET Задание: Даны X1, ..., X10 и Y1, ... Y10. Сравнить их суммы и если сумма Х будет больше суммы Y, то все Y обнулить, иначе обнулить все Х.

ОТВЕТЫ
1. Традиционное решение

const
  n=10;
var
  x,y:array[1..n] of integer;
  sx,sy,i:integer;
begin
  Randomize;
  Write(X: );
  sx:=0;
  for i:=1 to n do begin
    x[i]:=Random(101)-50;
    Write(x[i], );
    sx:=sx+x[i]
    end;
  Writeln;
  Write(Y: );
  sy:=0;
  for i:=1 to n do begin
    y[i]:=Random(101)-50;
    Write(y[i], );
    sy:=sy+y[i]
    end;
  Writeln;
  Writeln(Сумма х= ,sx,, сумма y= ,sy);
  if sxgt;sy then for i:=1 to n do y[i]:=0
  else for i:=1 to n do x[i]:=0;
  Write(X: );
  for i:=1 to n do Write(x[i], );
  Writeln;
  Write(Y: );
  for i:=1 to n do Write(y[i], );
  Writeln
end.

Пример
X: 4 29 -50 -18 37 -43 -18 9 41 28
Y: -8 41 -18 -6 -10 -10 47 -8 -29 25
Сумма х= 19, сумма y= 24
X: 0 0 0 0 0 0 0 0 0 0
Y: -8 41 -18 -6 -10 -10 47 -8 -29 25

2. Аналогичное решение средствами PascalABC.Net 3.2

const
  n=10;
begin
  var x:=ArrRandom(n,-50,50); Write(X: ); x.Println;
  var y:=ArrRandom(n,-50,50); Write(Y: ); y.Println;
  var sx:=x.Sum; var sy:=y.Sum;
  Writeln(Сумма х= ,sx,, сумма y= ,sy);
  if sxgt;sy then y:=ArrFill(n,0) else x:=ArrFill(n,0);
  Write(X: ); x.Println;
  Write(Y: ); y.Println
end.

Выбирать вам...)))

var
i,sumX, sumY: integer;
x: array [1..10] of integer;
y: array [1..10] of integer;
begin
sumX:=0; sumy:=0;
//çàïîëíèì ìàññèâ x
for i:=1 to 10 do
begin
 read (x[i]);
 sumX:=sumX+x[i]
 end;
//çàïîëíèì ìàññèâ y
for i:=1 to 10 do
begin
read (y[i]);
sumY:=sumY+y[i]
 end;
 writeln (sumx=,sumx,sumy=,sumy);
 if sumXgt;sumY then for i:=1 to 10 do y[i]:=0;
 
if sumXlt;sumY then for i:=1 to 10 do x[i]:=0;

for i:=1 to 10 do
writeln (x[,i,]=,x[i],y[,i,]=,y[i]);
end.

214
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам