Главная » Дан целочисленный массив из 30 элементов...
14:18

Дан целочисленный массив из 30 элементов...


Задание:

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

const N=30; 
var a: array [1..N] of integer; 
    i, j, k: integer; 
begin
  for i:=1 to N do readln(a[i]); 
  ...
end.

Решение:

Недостающий фрагмент:

k:=0;
  for i:=1 to N do
    if a[i] > 0 then begin
      k:=k+1;
      if k = 3 then j := i
    end;
  if k < 3 then 
       writeln('В массиве меньше трех положительных элементов')
  else writeln(j)

Разбор программы:

* В переменной K программа будет считать число положительных элементов.

* Запускается цикл(for) из 30 элементов, последовательно проверяются значения через условие (if). Если значение положительно ( то есть больше нуля), тогда увеличиваем переменную k на единицу, с помощью встроенного условия проверяем: если k = 3, то есть если данное значение является третьим положительным в массиве, то в переменной J запоминаем его номер.

* Дальше с помощью условия проверяем, если K меньше трех, нужно вывести сообщение о том, что в массиве меньше трех положительных элементов.

* else(в противном случае), то есть если условие не выполняется, то на экран выводится номер третьего положительного элемента массива.


Похожие материалы:
Нашли ошибку на сайте? Напишите в комментариях!
Категория: Язык программирования: Паскаль | Просмотров: 698 | Добавил: Ученик | Рейтинг: 5.0/1