Дан вектор V[1:16]. Если среднеарифметическое значение элементов с четными индексами больше или равно среднеарифметическому значению элементов с нечетными индексами, то все элементы вектора увеличить в 5 раз и сформировать из них матрицу W[1:4;1:4]. Иначе удалить из вектора минимальный элемент, все элементы вектора возвести в квадрат и сформировать из них матрицу Z[1:5;1:3] — Pascal(Паскаль)

uses crt;
var v:array[1..16] of integer;
    w:array[1..4,1..4] of integer;
    z:array[1..5,1..3] of integer;
    i,j,imn:byte;
    src,srn:real;
begin
clrscr;
randomize;
writeln('Вектор V:');
src:=0;srn:=0;
for i:=1 to 16 do
 begin
  v[i]:=random(10)+1;
  write(v[i]:4);
  if odd(i) then srn:=srn+v[i]/8//сред. нечетных
  else src:=src+v[i]/8;//четных
 end;
writeln;
writeln('Среднее четных=',src:0:2,'  нечетных=',srn:0:2);
if src>=srn then//если п.1
 begin
  for i:=1 to 16 do
  v[i]:=v[i]*5;//умножаем на 5
  writeln('Matrica W:');
  for i:=1 to 4 do
   begin
    for j:=1 to 4 do
       begin
        w[i,j]:=v[j+4*(i-1)];//составляем матрицу из 4х строк по 4 элемента
        write(w[i,j]:4);
       end;
    writeln;
   end;
 end
else//если п.2
 begin
  imn:=1;
  for i:=1 to 16 do
  if v[i]<v[imn] then imn:=i;//находим индекс минимального
  writeln('Минимальный элемент=',v[imn],'  номер=',imn);
  for i:=imn to 15 do
  v[i]:=v[i+1];//сдвигаем на него конец массива
  writeln('Matrica Z:');
  for i:=1 to 5 do
   begin
    for j:=1 to 3 do
       begin
        z[i,j]:=v[j+3*(i-1)];//делаем матрицу из 5 строк по 3 элемента
        write(z[i,j]:4);
       end;
    writeln;
   end;
 end;
readln
end.

Leave a Comment

26 + = 28