
- •Задачи с решениями
- •1. Одномерные массивы
- •I,b:integer;
- •I,b:integer;
- •I,b,k,j:integer;
- •I:integer;
- •I,k:integer;
- •I,k:integer;
- •I,k,z:integer;
- •I,k,z:integer;
- •I,k,z:integer;
- •I,j,f:integer;
- •I,k,z:integer;
- •I,k,j,f:integer;
- •I,k,j,f:integer;
- •I,j,b:integer;
- •I,j,k,f:integer;
- •I,j,k,f:integer;
- •2. Двумерные массивы
- •I,j,b:integer;
- •I,j,b:integer;
- •I,j,b:integer;
- •I,j,p:integer;
- •I,j,max:integer;
- •I,j,min:integer;
- •I,j,max:integer;
- •I,j,k:integer;
- •I,j,max,min,imax,imin:integer;
- •I,j,k,f:integer;
- •I,j,k:integer;
- •I,j,k:integer;
- •I,j,k:integer;
- •I,j:integer;
- •I,j,jmax:integer;
- •I,j,k,z:integer;
- •I,j,f:integer;
- •I,j,min,imin:integer;
I,j,k:integer;
S,SR:REAL;
begin
WRITELN('vvod massiva');
FOR I:=1 TO M DO
BEGIN
FOR J:=1 TO N DO
read(A[I,J]);
WRITELN;
END;
S:=0; K:=0;
FOR I:=1 TO N DO
FOR J:=1 TO N DO
IF (I MOD 2 = 0) AND (J MOD 2 <> 0) THEN
BEGIN
S:=S+A[I,J];
K:=K+1;
END;
IF K=0 THEN
WRITELN('TAKIX HET')
ELSE
BEGIN
SR:=S/K;
WRITELN('vIvod SR');
WRITE(SR);
END;
readln;
readln;
end.
Дана прямоугольная матрица.
Поменять местами строки, содержащие наибольший
и наименьший элементы матрицы (все элементы матрицы различны)
program p9;
const m=4;n=5;
var
A:array[1..m,1..N] of real;
I,j,max,min,imax,imin:integer;
B:REAL;
begin
WRITELN('vvod massiva');
FOR I:=1 TO M DO
BEGIN
FOR J:=1 TO N DO
read(A[I,J]);
WRITELN;
END;
MAX:=A[1,1]; IMAX:=1;
MIN:=A[1,1]; IMIN:=1;
FOR I:=1 TO M DO
FOR J:=1 TO N DO
BEGIN
IF A[I,J]>MAX THEN
BEGIN
MAX:=A[I,J];
IMAX:=I;
END;
IF A[I,J]<MIN THEN
BEGIN
MIN:=A[I,J];
IMIN:=I;
END;
END;
FOR J:=1 TO N
BEGIN
B:=A[IMAX,J];
A[IMAX,J:=A[IMIN,J];
A[IMIN,J]:=B;
END;
WRITELN('vIvod MASSIVA');
FOR I:=1 TO M DO
BEGIN
FOR J:=1 TO N DO
WRITE(A[I,J],' ');
WRITELN;
END;
readln;
readln;
end.
Дана прямоугольная матрица.
Найти количество столбцов, в которых все элементы положительные
program p10;
const m=4;n=5;
var
A:array[1..m,1..N] of INTEGER;
I,j,k,f:integer;
begin
WRITELN('vvod massiva');
FOR I:=1 TO M DO
BEGIN
FOR J:=1 TO N DO
read(A[I,J]);
WRITELN;
END;
K:=0;
FOR J:=1 TO N DO
BEGIN
F:=0;
FOR I:=1 TO M DO
IF A[I,J]<= 0 THEN F:=1;
IF F=0 THEN
K:=K+1;
END;
WRITELN('vIvod K');
WRITE(K);
readln;
readln;
end.
Дана прямоугольная матрица.
Построить вектор B, где B[i] - число неотрицательных элементов в i-ой строке.
program p11;
const m=4;n=5;
var
A:array[1..m,1..N] of INTEGER;
B:ARRAY[1..M] OF INTEGER;
I,j,k:integer;
begin
WRITELN('vvod massiva');
FOR I:=1 TO M DO
BEGIN
FOR J:=1 TO N DO
read(A[I,J]);
WRITELN;
END;
FOR I:=1 TO M DO
BEGIN
K:=0;
FOR J:=1 TO N DO
IF A[I,J]>= 0 THEN K:=K+1;
B[I]:=K;
END;
WRITELN('vIvod MASSIVA B');
FOR I:=1 TO M DO
WRITELN(B[I]);
readln;
readln;
end.
Дана прямоугольная матрица.
Построить вектор B, где B[i] - число нулевых элементов в i-ом столбце
program p12;
const m=4;n=5;
var
A:array[1..M,1..N] of INTEGER;
B:ARRAY[1..N] OF INTEGER;
I,j,k:integer;
begin
WRITELN('vvod massiva');
FOR I:=1 TO M DO
BEGIN
FOR J:=1 TO N DO
read(A[I,J]);
WRITELN;
END;
FOR J:=1 TO N DO
BEGIN
K:=0;
FOR I:=1 TO M DO
IF A[I,J]= 0 THEN K:=K+1;
B[J]:=K;
END;
WRITELN('vIvod MASSIVA B');
FOR I:=1 TO N DO
WRITELN(B[I]);
readln;
readln;
end.
Дана прямоугольная матрица.
Построить вектор B, где B[i] - среднее арифметическое
отрицательных элементов в i-ой строке (если отрицательных элементов нет, то B[i]=0).
program p13;
const m=4;n=5;
var
A:array[1..m,1..N] of REAL;
B:ARRAY[1..M] OF REAL;
I,j,k:integer;
S:REAL;
begin
WRITELN('vvod massiva');
FOR I:=1 TO M DO
BEGIN
FOR J:=1 TO N DO
read(A[I,J]);
WRITELN;
END;
FOR I:=1 TO M DO
BEGIN
K:=0;S:=0;
FOR J:=1 TO N DO
IF A[I,J]< 0 THEN
BEGIN
K:=K+1;
S:=S+A[I,J];
END;
IF K=0 THEN
B[I]:=0
ELSE
B[I]:=S/K;
END;
WRITELN('vIvod MASSIVA B');
FOR I:=1 TO M DO
WRITELN(B[I]);
readln;
readln;
end.
Дана прямоугольная матрица.
Построить вектор B, где B[i] - максимальное значение в i-ом столбце.
program p14;
const m=4;n=5;
var
A:array[1..m,1..N] of REAL;
B:ARRAY[1..N] OF REAL;