Присоединиться

11 класс·высокий уровень

Дан целочисленный массив из 40 элементов. Элементы массива могут

Условие

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

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

ПаскальБейсик
constN = 40; vara: array [l..N] of integer; i, j, k: integer; begin for i:=1 to N do readln(a[i]);...end.N = 40DIM A (N) AS INTEGER DIM I, J, К AS INTEGER FOR I = 1 TO N INPUT A (I) NEXT I...END
Си++Алгоритмический язык
#include <iostream>using namespace std; #define N 40 int main(void) {int a [N] ; int i, j, k; for (i = 0; i < N; i + +) cin >> a[i];...}алг начцел N = 40 целтаб а[1:N] цел i, j, k нц для i от 1 до N ввод a[i]кц...кон
Естественный язык
Объявляем массив А из 40 элементов. Объявляем целочисленные переменные I, J, К. В цикле от 1 до 40 вводим элементы массива А с 1-го по 40-й....
Python
//допускается также использо-// вание целочисленных// переменных j, ka = [] N = 40 // менять значение Nнельзяfor i in range(0, n):a.append(int(input()))…

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

  1. или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Решение. ПАСКАЛЬБЕЙСИК
    k : = 0;for i : = 1 to N do if a[i] > 0 then begink := k + 1; if k = 3 then j=a[i];end; if k < 3 thenwriteln('нет такого') elsewriteln(j);К = 0FOR I = 1 ТО NIF А (I) > 0 THENК = К + 1IF К = 3 THENJ = A (I)ENDIFENDIFNEXT IIF К < 3 THENPRINT "нет такого"ELSEPRINT JENDIF
    СИАлгоритмический язык

    k = 0;for(i = 0; i < N; i++)if (a[i] >

Осталось ещё 1 шаг

  1. | j = a[i];if(k < 3)cout << "нет такого"…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Алгоритмы обработки массивов»

Дан целочисленный массив из 40 элементов. Элементы массива могут — решение с объяснением | Lom Ai