25. Алгоритмы обработки массивов – продолжение

Демонстрационный вариант ЕГЭ 2019 г. – задание №25 — Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на 6, а затем заменяет каждый элемент, не делящийся нацело на 6, на число, равное найденному минимуму.

Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов:
14
6
11
18
9
24
программа должна вывести следующий массив
9
6
9
18
9
24

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

Бейсик Python
CONST N AS INTEGER = 30
DIM A (1 TO N) AS LONG
DIM I AS LONG,
  J AS LONG,
  K AS LONG
FOR I = 1 TO N
  INPUT A(I)
NEXT I
...
END
# допускается также
# использовать две
# целочисленные переменные j и k
a = []
n = 30
for i in range(0, n):
    a.append(int(input()))
...
Алгоритмический язык Паскаль
алг
нач
  цел N = 30
  целтаб a[1:N]
  цел i, j, k
  нц для i от 1 до N
    ввод a[i]
  кц
  ...
кон
const
  N = 30;
var
  a: array [1..N] of longint;
  i, j, k: longint;
begin
  for i := 1 to N do
    readln(a[i]);
  ...
end
C++
#include <iostream>
using namespace std;
const int N = 30;
int main() {
  long a[N];
  long i, j, k;
  for (i = 0; i < N; i++)
    cin >> a[i];
  ...
  return 0;
}

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6).
В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке)


Дан массив, содержащий 2014 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество элементов, значение которых более чем в два раза превосходит значение предшествующего элемента.

Например, для массива из 6 элементов, содержащего числа 2, 5, 10, 15, 40, 100, программа должна выдать ответ 3 (условию соответствуют элементы со значениями 5, 40 и 100). Программа должна вывести общее количество подходящих элементов, значения элементов выводить не нужно.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных.

Pascal C++
const N = 2014; 
var a: array [1..N] of integer; 
i, j, k: integer; 
begin
for i:=1 to N do
  readln(a[i]); 
…
end.
#include<stdio.h> 
int main(void) { 
const int N=2014; 
int a[N]; 
int i, k, j; 
for (i=0; i<N; i++) 
  scanf(″%d″, &a[i]); 
…
}
Python
# допускается также
# использовать две
# целочисленные переменные j и k
a = []
n = 2014
for i in range(0, N):
    a.append(int(input()))
...

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 5.

В данной задаче под парой подразумевается два подряд идущих элемента массива.

Pascal C++
const N = 40;
var
  a: array [1..N] of integer;
  i, j, k: integer;
begin
  for i := 1 to N do
    readln(a[i]);
  ...
end.
#include <stdio.h>
#define N 40
int main() {
  int a[N];
  int i, j, k;
  for (i = 0; i<N; i++)
    scanf("%d", &a[i]);
  ...  
  return 0;
}
Python
# допускается также
# использовать две
# целочисленные переменные j и k
a = []
N = 40
for i in range(0, N):
    a.append(int(input()))
...

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наибольший из элементов массива, шестнадцатеричная запись которого оканчивается на букву F. Если таких чисел нет, нужно вывести ответ 0.

Pascal C++
const N = 40;
var
  a: array [1..N] of integer;
  i, j, k: integer;
begin
  for i := 1 to N do
    readln(a[i]);
  ...
end.
#include <stdio.h>
#define N 40
int main() {
  int a[N];
  int i, j, k;
  for (i = 0; i<N; i++)
    scanf("%d", &a[i]);
  ...  
  return 0;
}
Python Алгоритмический язык
# допускается также
# использовать две
# целочисленные переменные j и k
a = []
N = 40
for i in range(0, N):
    a.append(int(input()))
...
алг
нач
  цел N = 40
  целтаб a[1:N]
  цел i, j, k
  нц для i от 1 до N
    ввод a[i]
  кц
  ...
кон

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наибольший из элементов массива, восьмеричная запись которого содержит ровно три цифры. Если таких чисел нет, нужно вывести ответ 0.

Pascal C++
const N = 40;
var
  a: array [1..N] of integer;
  i, j, k: integer;
begin
  for i := 1 to N do
    readln(a[i]);
  ...
end.
алг
нач
  цел N = 40
  целтаб a[1:N]
  цел i, j, k
  нц для i от 1 до N
    ввод a[i]
  кц
  ...
кон
Python
# допускается также
# использовать две
# целочисленные переменные j и k
a = []
n = 40
for i in range(0, N):
    a.append(int(input()))
...

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наименьший из элементов массива, шестнадцатеричная запись которого содержит не менее трёх цифр и оканчивается на букву C. Если таких чисел нет, нужно вывести ответ 0.

Pascal Алгоритмический язык
const N = 40;
var
  a: array [1..N] of integer;
  i, j, k: integer;
begin
  for i := 1 to N do
    readln(a[i]);
  ...
end.
алг
нач
  цел N = 40
  целтаб a[1:N]
  цел i, j, k
  нц для i от 1 до N
    ввод a[i]
  кц
  ...
кон
C++ Python
#include <stdio.h>
#define N 40
int main() {
  int a[N];
  int i, j, k;
  for (i = 0; i<N; i++)
    scanf("%d", &a[i]);
  ...  
  return 0;
}
#допускается также использовать 
#две целочисленные переменные 
#j и k 
а = [] 
n = 40
for і in range(n):
  a.append(int(input()))

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причём первая (старшая) цифра меньше второй (младшей).

Pascal Алгоритмический язык
const N = 40;
var
  a: array [1..N] of integer;
  i, j, k: integer;
begin
  for i := 1 to N do
    readln(a[i]);
  ...
end.
алг
нач
  цел N = 40
  целтаб a[1:N]
  цел i, j, k
  нц для i от 1 до N
    ввод a[i]
  кц
  ...
кон
C++ Python
#include <stdio.h>
#define N 40
int main() {
  int a[N];
  int i, j, k;
  for (i = 0; i<N; i++)
    scanf("%d", &a[i]);
  ...  
  return 0;
}
#допускается также использовать 
#две целочисленные переменные 
#j и k 
а = [] 
n = 40
for і in range(n):
  a.append(int(input()))


 

Добавить комментарий