Дан целочисленный массив из 50 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых оба числа двузначные. В данной задаче под парой подразумевается два подряд идущих элемента массива.
Например, для массива из пяти элементов: 16 2 14 91 21 — ответ: 2. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
| Бейсик | Python |
|---|---|
CONST N = 50 DIM A (1 TO N) AS INTEGER DIM I, J, K, AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I ... END
| //допускается также использовать //две целочисленные переменные j и k a = [] n = 50 for i in range(0, n): a.append(int(input())) ...
|
| Алгоритмический язык | Паскаль |
алг нач цел N = 50 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон | const N = 50; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end. |
| Си++ | Естественный язык |
#include <iostream> using namespace std; #define N 50 int main() { int a[N]; int i, j, k; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; }
| Объявляем массив A из 50 элементов. Объявляем целочисленные переменные I, J, K. В цикле от 1 до 50 вводим элементы массива A с 1-го по 50-й. …
|
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Программа просматривает все пары элементов массива, если оба элемента двузначные, то счётчик k увеличивается на единицу.
Пример программы на Паскале:
k:= 0;
for i := 1 to N-1 do
begin
if (a[i] div 100 = 0) and (a[i] div 10 <> 0) and (a[i+1] div 100 = 0) and (a[i+1] div 10 <> 0) then
k := k + 1;
end;
writeln(k);

