
- •Задачи с решениями
- •1. Одномерные массивы
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input b(I)
- •Input a(I)
- •Input b(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
Задачи с решениями
1. Одномерные массивы
Дан одномерный массив.
Произвести циклический сдвиг массива
на один элемент влево
DIM I AS INTEGER, N AS INTEGER, B AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
Input a(I)
NEXT I
B = A(1)
FOR I = 1 TO N - 1
A(I) = A(I + 1)
NEXT I
A(N) = B
FOR I = 1 TO N
PRINT "A("; I; ")="; A(I);
NEXT I
END
Сдвиг массива на один элемент вправо
DIM I AS INTEGER, N AS INTEGER, B AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
Input a(I)
NEXT I
B = A(N)
FOR I = N TO 2 STEP -1
A(I) = A(I - 1)
NEXT I
A(1) = B
FOR I = 1 TO N
PRINT "A("; I; ")="; A(I);
NEXT I
END
Сдвиг массива на k элементов вправо
DIM I AS INTEGER, N AS INTEGER, B AS INTEGER, K AS INTEGER, J AS INTEGER
INPUT "N="; N
INPUT "K="; K
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
Input a(I)
NEXT I
FOR J = 1 TO K
B = A(N)
FOR I = N TO 2 STEP -1
A(I) = A(I - 1)
NEXT I
A(1) = B
NEXT J
FOR I = 1 TO N
PRINT "A("; I; ")="; A(I);
NEXT I
END
Сформировать из последовательности элементов массива
A1, A2, … AN-1, AN
новую последовательность A1*A3, A2*A4, …AN-2*AN
без использования дополнительного массива
DIM I AS INTEGER, N AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
INPUT A(I)
NEXT I
FOR I = 1 TO N - 2
A(I) = A(I) * A(I + 2)
NEXT I
FOR I = 1 TO N - 2
PRINT "A("; I; ")="; A(I);
NEXT I
END
Дан одномерный массив.
Найти первый положительный элемент массива
DIM I AS INTEGER, N AS INTEGER, K AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
INPUT A(I)
NEXT I
K = 0
FOR I = 1 TO N
IF A(I) > 0 THEN
K = I
EXIT FOR
END IF
NEXT I
PRINT "K="; K;
END
Дан одномерный массив.
Найти последний положительный элемент массива
DIM I AS INTEGER, N AS INTEGER, K AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
INPUT A(I)
NEXT I
K = 0
FOR I = N TO 1 STEP -1
IF A(I) > 0 THEN
K = I
EXIT FOR
END IF
NEXT I
PRINT "K="; K;
END
Дан одномерный массив, все элементы которого различны.
найти наибольший элемент данного массива
DIM I AS INTEGER, N AS INTEGER, MAX AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
INPUT A(I)
NEXT I
MAX = A(1)
FOR I = 1 TO N
IF A(I) > MAX THEN MAX = A(I)
NEXT I
PRINT "MAX="; MAX;
END
Дан одномерный массив, все элементы которого различны.
найти наименьший элемент данного массива.
DIM I AS INTEGER, N AS INTEGER, MIN AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
INPUT A(I)
NEXT I
MIN = A(1)
FOR I = 1 TO N
IF A(I) < MIN THEN MIN = A(I)
NEXT I
PRINT "MIN="; MIN;
END
Дан одномерный массив
Найти первый максимальный элемент массива
DIM I AS INTEGER, N AS INTEGER, MAX AS INTEGER, IMAX AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";
INPUT A(I)
NEXT I
MAX = A(1): IMAX = 1
FOR I = 1 TO N
IF A(I) > MAX THEN
MAX = A(I)
IMAX = I
END IF
NEXT I
PRINT "MAX="; MAX; "IMAX="; IMAX;
END
Дан одномерный массив
Найти первый минимальный элемент массива
DIM I AS INTEGER, N AS INTEGER, MIN AS INTEGER, IMIN AS INTEGER
INPUT "N="; N
DIM A%(N)
FOR I = 1 TO N
PRINT "A(="; I; ")=";