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

Иначе удалить из вектора минимальный элемент, все элементы вектора возвести в квадрат, и сформировать из них матрицу Z[1:5;1:3].

code: #pascal
Program PascalGuru;
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,k,min:integer;
    sr_c,sr_nec:real;
 
{----------------------------------------------------}
begin
for i:=1 to 16 do begin
write ('V[',i,']='); readln(V[i]); end;
 
clrscr;
writeln ('Vot vvedennyy vami massiv V: ');
for i:=1 to 16 do write (V[i]:4,' ');
 
sr_nec:=0;
sr_c:=0;
for i:=1 to 16 do
    if odd(i) then
              sr_nec:=sr_nec+V[i]
              else
              sr_c:=sr_c+V[i];
sr_nec:=sr_nec/8;
sr_c:=sr_c/8;
 
writeln;
if sr_c>=sr_nec then
                 begin
                   for i:=1 to 16 do V[i]:=V[i]*5;
                   k:=0;
                   for i:=1 to 4 do
                   for j:=1 to 4 do
                                 begin
                                  inc(k);
                                  W[i,j]:=V[k];
                                 end;
                   writeln;
                   writeln ('Sformirovannyi massiv W: ');
                   for i:=1 to 4 do begin writeln;
                   for j:=1 to 4 do write(W[i,j]:8); end;
                 end
                else {**********************}
                 begin
                  min:=1;
                  for i:=2 to 16 do
                      if V[i]<V[min] then min:=i; {определение MIN элемента}
 
                  For i:=min+1 to 16 do V[i-1]:=V[i];{удаление MIN элемента}
 
                  for i:=1 to 5 do
                  for j:=1 to 3 do
                                 begin
                                  inc(k);
                                  Z[i,j]:=V[k];
                                 end;
                   writeln;
                   writeln ('Sformirovannyi massiv Z: ');
                   for i:=1 to 5 do begin writeln;
                   for j:=1 to 3 do write(Z[i,j]:8); end;
 
                 end;
 
readln;
end.      
Поделиться:

Похожие статьи: