Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otchet informatika Timofeev ПЕЧАТЬ.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
58 Кб
Скачать
☆

I,s:integer;

begin

randomize;

for i:=1 to 55 do begin

x[i]:=random(25)-10;

writeln(x[i]);

end;

writeln();

s:=0;

for i:=1 to 55 do if x[i]>0 then s:=s+x[i];

writeln(‘sum= ‘,s);

end.

5.27. Вычислить среднее арифметическое элементов массива.

var

x:array [1..25] of integer;

s,k,i: integer;

z: real;

begin

randomize;

for i:=1 to 25 do begin

x[i]:=random(25);

end;

s:=0;

k:=0;

z:=0;

for i:=1 to 10 do begin

s:=s+x[i];

k:=k+1;

end;

z:=s/k;

writeln (z);

end.

5.28. Вычислить среднее арифметическое отрицательных элементов

массива, полагая, что в массиве есть отрицательные значения.

var

x:array[1..30] of integer;

i,s,k:integer;

sar:real;

begin

randomize;

for i:=1 to 30 do begin

x[i]:=random(25)-10;

writeln(x[i]);

end;

writeln();

s:=0;

k:=0;

for i:=1 to 30 do

if x[i]<0 then begin

s:=s+x[i];

k:=k+1;

end;

sar:=s/k;

writeln(sar);

end.

5.29. Вычислить среднее геометрическое положительных элементов

массива, имеющих четные индексы. Если таких элементов нет, то вывести на

печать признак 0.

var

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

b,c: integer;

d,e: real;

begin

b:=1;

c:=0;

randomize;

for i:=1 to 10 do begin

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

for i:=1 to 10 do begin

if (i mod 2=0) and (a[i]>0) then begin

b:=b*a[i];

c:=c+1;

end;

end;

if c>0 then begin

d:=exp(ln(p)*1/c);

writeln(d);

end;

if c<1 then writeln(‘0’);

end.

5.30. Вычислить среднее геометрическое элементов массива,

удовлетворяющих условию yi>a, считая, что в массиве есть элементы, для

которых выполняется это условие.

var

y:array[1..30] of integer;

i,s,k,a:integer;

sar:real;

begin

randomize;

for i:=1 to 30 do begin

y[i]:=random(25);

writeln(y[i]);

end;

writeln();

readln(a);

s:=1; k:=0;

for i:=1 to 30 do

if y[i]>a then begin

s:=s*y[i];

k:=k+1;

end;

sar:=1/k*ln(s);

writeln(sar);

end.

5.31. Подсчитать количество элементов целочисленного массива, кратных трем.

var

x: array [1..10] of integer;

k,i: integer;

begin

randomize;

for i:=1 to 10 do begin

x[i]:=random(25)-10;

writeln(x[i]);

end;

k:=0;

for i:=1 to 10 do

begin

if x[i] mod 3=0 then

k:=k+1;

end;

writeln (k);

end.

1.л. Найти миниимальный элемент и его местоположение выше побочной диагонали.

var

a:array[1..5,1..5] of integer;

i,j,min,mini,minj: integer;

begin

randomize

for i:=1 to 5 do begin

for j:=1 to 5 do begin

a[i,j]:=random(25);

writeln(a[i,j]);

end; end;

min:=a[1,1];

mini:=1;

minj:=1;

for i:=1 to 5 do

for j:=1 to 5 do

if (a[i,j]<min) and (i+j<6) then begin

min:=a[i,j];

mini:=i;

minj:=j;

end;

writeln(min,mini,minj);

end.

2.л. Подсчитать количество чётных элементов в каждой строке массива.

var

a:array[1..3,1..3] of integer;

i,j,k:integer;

begin

randomize

for i:=1 to 3 do begin

for j:=1 to 3 do begin

a[i,j]:=random(25);

writeln(a[I,j]);

end; end;

for i:=1 to 3 do begin

k:=0;

for j:=1 to 3 do

if (a[i,j] mod 2=0) then begin

k:=k+1;

end;

writeln(k);

end;

end.

3.л. Найти количество строк в двумерном массиве, максимальный элемент которого больше Р.

var

a:array[1..3,1..3] of integer;

i,j,max,p,k:integer;

begin

randomize

for i:=1 to 3 do begin

for j:=1 to 3 do begin

a[i,j]:=random(25);

read(p);

k:=0;

for i:=1 to 3 do begin

max:=a[i,1];

for j:=1 to 3 do

if (a[i,j]>max) then begin

max:=a[i,j];

end;

if (max>p) then k:=k+1;

end;

writeln(k);

end.

4.л. Дана матрица. Поменяйте местами строку, содержащую максимальный элемент, со строкой, содержащей минимальный элемент.

var

a:array[1..3,1..3] of integer;

i,j,max,min,maxi,mini,d:integer;

begin

randomize

for i:=1 to 3 do begin

for j:=1 to 3 do begin

a[i,j]:=random(25);

writeln(a[I,j]);

end; end;

max:=a[1,1];

maxi:=1;

for i:=1 to 3 do

for j:=1 to 3 do

if (a[i,j]>max) then begin

max:=a[i,j];

maxi:=i;

end;

min:=a[1,1];

mini:=1;

for i:=1 to 3 do

for j:=1 to 3 do

if (a[i,j]<min) then begin

min:=a[i,j];

mini:=1;

end;

for j:=1 to 3 do

begin

d:=a[mini,j];

a[mini,j]:=a[maxi,j];

a[maxi,j]:=d;

end;

for i:=1 to 3 do

begin

for j:=1 to 3 do

writeln(a[i,j]);

end;

end.

5.л. Дан двумерный массив. Удалите строку, в которой встретиться третий нечетный элемент.

var

a:array[1..n,1..m] of integer;

i,j,k,z:integer;

begin

m:=5;

n:=5;

randomize

for i:=1 to n do begin

for j:=1 to m do begin

a[i,j]:=random(25);

k:=0;

z:=0;

for i:=1 to n do

for j:=1 to m do

if (a[i,j] mod 2=1) then begin

k:=k+1;

if k=3 then z:=i;

end;

for i:=z to n-1 do

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

for j:=1 to m do

a[n,j]:=0;

for i:=1 to n do begin

for j:=1 to m do

writeln(a[i,j])

end;

end.

6.л. Удалите второй отрицательный элемент в двумерном массиве.

var

a:array[1..n,1..m] of integer;

b:array[1..n*m] of integer;

i,j,k,f,z:integer;

begin

k:=1;

randomize

for i:=1 to n do

for j:=1 to m do

begin

a[i,j]:=random(25);

b[k]:=a[i,j];

k:=k+1;

end;

f:=0;

for k:=1 to m*n do

if (b[k]<0) and (f<2) then begin

z:=k;

f:=f+1;

end;

if f=2 then begin

for k:=z to m*n-1 do

b[k]:=b[k+1];

b[m*n]:=0;

end;

k:=1;

for i:=1 to n do

for j:=1 to m do begin

a[i,j]:=b[k];

k:=k+1;

end;

for i:=1 to n do begin

for j:=1 to m do

writeln(a[i,j]);

end;

end.

7.л. Подсчитайте среднее арифметическое отрицательных элементов по столбцам.

var

a:array[1..3,1..3] of integer;

i,j,k,s:integer;

sar:real;

begin

for i:=1 to 3 do begin

for j:=1 to 3 do begin

a[i,j]:=random(25);

end; end;

for i:=1 to 3 do begin

s:=0;

k:=0;

for j:=1 to 3 do

if (a[i,j]<0) then begin

s:=s+a[i,j];

k:=k+1;

end;

sar:=s/k;

writeln(sar);

end;

end.

8.л. Определите количество особых элементов в массиве. Элемент считать особым, если слева от него располагается меньший, а справа больший.

var

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

i,k:integer;

begin

randomize

for i:=1 to n do

read(a[i]);

k:=0;

for i:=2 to (n-1) do begin

if (a[i]>a[i-1]) and (a[i+1]) then

k:=k+1;

end;

writeln(k);

end.

Для двумерного массива.

var

a:array[1..n,1..m] of integer;

i,j,k:integer;

begin

randomize

for i:=1 to n do begin

for j:=1 to m do begin

a[i,j]:=random(25);

writeln(a[i,j]);

end; end;

for i:=1 to n do begin

k:=0;

for j:=2 to m-1 do begin

if (a[i,j]>a[i,j-1]) and (a[i,j]<a[i,j+1]) then

k:=k+1;

end;

writeln(k);

end;

end.

9.л. Дан двумерный массив. Удалить столбец с номером K.

var

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

i,j,k: integer;

begin

randomize

for i:=1 to 5 do begin

for j:=1 to 5 do begin

a[i,j]:=random(25);

writeln(a[i;j]);

end; end;

readln(k);

j:=k;

for j:=k to 4 do

a[i,j]:=a[i,j+1];

for i:=1 to 5 do

a[i,k]:=0;

k:=j;

for i:=1 to 5 do begin

for j:=1 to 5 do

writeln(a[i,j]);

end;

end.

10.л. Дан двумерный массив. Вставить 100 после 2го элемента.

var a: array[1..10] of integer;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]