ПОМОГИТЕ!

Нужно написать программу в паскале.

1. Поменяйте местами первый элемен массива А(8) с наибольшим элементом, а последний - с наименьшим элементом массива. Случайные числа в [10;99]

2. Посчитайте сумму чётных элементов массива А(8). Случайные числа в [1;9]

3. Найдите номер нулевого элемента данного одномерного массива А(10). Случайные числа в [-10;10]

1

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

Лучший Ответ!
2013-01-11T18:58:55+00:00

program n1;

  uses crt;

  var

   a:array[1..10000] of integer;

    i,min,max:integer;

  begin

   clrscr;

   for i:=1 to 8 do

     begin

      randomize;

      a[i]:=random(99-10+1)+10;

      write(a[i],' '); {выводим изначальный массив}

     end;

   min:=a[1]; max:=a[8];

   for i:=1 to 8 do

     begin

      if min>a[i] then min:=a[i];

      if max<a[i] then max:=a[i];

     end;

  for i:=1 to 8 do

    begin

     if (a[i]=min) and (a[i]<a[1]) then

       begin

         a[i]:=a[1]; a[1]:=min;

       end;

    if (a[i]=max) and (a[i]>a[8]) then

       begin

        a[i]:=a[8]; a[8]:=max;

       end;

    end;

  writeln;

  for i:=1 to 8 do

  write (a[i],' '); {выводим измененный массив}

  end.

 

program n2;

  uses crt;

  var

   a:array[1..10000] of integer;

    i,n:integer;

  begin

   clrscr;

   n:=0;

   for i:=1 to 8 do

     begin

      randomize;

      a[i]:=random(9-1+1)+1;

      write(a[i],' '); {выводим массив}

      if a[i] mod 2=0 then n:=n+a[i];

     end;

     writeln;

    writeln (n);

   end.

 

program n3;

  uses crt;

  var

   a:array[1..10000] of integer;

    i,n:integer;

  begin

   clrscr;

   n:=0;

   for i:=1 to 10 do

     begin

      randomize;

      a[i]:=random(20)-10;

      write(a[i],' '); {выводи массив}

      end;

   for i:=1 to  10 do

     begin

     if a[i]=0 then n:=n+1;

     if (a[i]=0) and (n=1) then begin writeln; writeln(i,' – первый нулевой элемент ' );  end;

     if (i=10) and (n=0)then begin writeln; writeln (нулевого элемента нет);   end;

     end;

   end.