Дан вектор V[1:16]. Если среднеарифметическое значение элементов с четными индексами больше или равно среднеарифметическому значению элементов с нечетными индексами, то все элементы вектора увеличить в 5 раз и сформировать из них матрицу W[1:4;1:4]
Категория: Delphi/Pascal
2012-01-13 20:08:40
Иначе удалить из вектора минимальный элемент, все элементы вектора возвести в квадрат, и сформировать из них матрицу 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.
Поделиться: