В pascal.
1) Заполните массив случайными числами из интервала [-50;50), вывести на экран, посчитать сумму отрицательных элементов.
2)Ввести одномерный массив, вывести его на экран, найти максимальный элемент и его порядковый номер.
3)Заполните массив случайными числами из интервала [0;50), вывести массив на экран, найти минимальный и максимальный элементы, поменять их местами.

1

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

2013-09-09T13:09:41+04:00
1)
var a:array [1..10] of integer;
      i,sum:integer;
begin
  randomize;
  sum:=0;
  for i:=1 to 10 do
    begin
      a[i]:=random(100)-50;
      write (a[i],' ');
      if a[i] < 0 then sum:=sum+a[i];  
    end;
  writeln;
  writeln ('Summa: ',sum);
  readln;
end.

2)
var a:array [1..10] of integer;
      i,max,index:integer;
begin
  for i:=1 to 10 do
    begin
       write ('A[',i,'] = ');
       readln (a[i]);
    end;
  max:=a[1];
  index:=1;
  for i:=2 to 10 do
    if a[i] > max then
      begin
        max:=a[i];
        index:=i;
      end;
  writeln ('Max: ',max,'.Index: ',index);
  readln;
end.

3)
var a:array [1..10] of integer;
      max,min,i,temp:integer;
begin
  randomize;
  for i:=1 to 10 do
    begin
       a[i]:=random(50);
       write (a[i],' ');
    end;
  writeln;
  max:=1;
  min:=1;
  for i:=2 to 10 do
    if a[i] > a[max] then max:=i else
      if a[i] < min then min:=i;
  writeln ('Max: ',a[max]);
  writeln ('Min: ',a[min]);
  temp:=a[min];
  a[min]:=a[max];
  a[max]:=temp;
  for i:=1 to 10 do write (a[i],' ');
end.