Главное меню  

   

Авторизация  

   
   
Хостинг в Украине
   


61.2%Russian Federation Russian Federation
18.8%Ukraine Ukraine
3.1%Kazakhstan Kazakhstan
2.8%Romania Romania
2.7%United States United States
1.7%Belarus Belarus
1%Czech Republic Czech Republic
0.9%Republic Of Moldova Republic Of Moldova
0.9%United Kingdom United Kingdom
0.7%France France

Сегодня: 145
Вчера: 121
На этой неделе: 266
На прошлой неделе: 960
В этом месяце: 2498
В прошлом месяце: 2197
Всего: 7258


   

блог админа

Записи

  • Главная
    Главная Страница отображения всех блогов сайта
  • Категории
    Категории Страница отображения списка категорий системы блогов сайта.

Нахождение количества элементов в массиве, удовлетворяющих заданному условию. Паскаль ABC

Добавлено : Дата: в разделе: Прикладная информатика

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

Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента массива; Xi – i-й элемент массива X; А – заданное число; k – количество элементов, значения которых положительны и не превосходят заданного числа А.

Входные данные: n, X, A.

Выходные данные: k.

Вводим с клавиатуры значение числа А. Количество элементов, значения которых положительны и не превосходят заданного числа А, вначале полагаем равным нулю, то есть k:=0. Если очередной элемент массива положителен и не превосходят заданного числа A, то количество таких элементов нужно увеличить на единицу, то есть k:=k + 1. Таким образом, обрабатываются все элементы массива.

При решении этой задачи можно использовать любой из видов циклов. Рассмотрим несколько вариантов решения задачи.

Первый способ.  Для решения используется цикл с параметром:

Program massiv_1;
Var X: Array[1..20] Of Integer;
i, n, k, A: Integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 To n Do Readln (X[i]); //ввод массива
Write (‘A=’); Readln (A); k:= 0;
For i:=1 To n Do //обработка массива
If (X[i] >0) and (X[i] <= A) Then
k:=k + 1;
Writeln (‘k=’, k);
End.

Второй способ. Для решения используется цикл с постусловием:

Program massiv_1_2;
Var X: Array[1..20] Of Integer;
i, n, k, A: Integer;
Begin
Write (‘n=’); Readln (n); i:=1;
Repeat
Read (X[i]); i := i + 1
Until i > n;
Write (‘A=’); Readln (A); k:= 0; i:=1;
Repeat
If (X[i] >0) and (X[i] <= A) Then
k:=k + 1; i := i + 1
Until I > n;
Writeln (‘k=’, k);
End.

Редактировалось Дата:

You have no rights to post comments

   
© 2012 fordus.