Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Задача 28. Проверка наличия определенных элементов в массиве
Условие задачи. Дан целочисленный массив из N элементов, N £ 20. Проверить, имеются ли в нём трёхзначные числа. Трехзначными числами являются положительные целые числа в диапазоне от 100 до 999 и отрицательные целые в диапазоне от -999 до -100. Можно проверять вхождение значения в один из двух диапазонов или взять значение по модулю и тогда проверять только принадлежность его диапазону [100; 999]. Исходными данными для этой задачи являются количество элементов массива N и их значения, результатом — сообщения «Да» или «Нет» в зависимости от выполнения условий задачи. Назовем массив А, а признак выполнения условия flag. Начальное состояние переменной flag устанавливается соответствующим значению «нет». В цикле осуществляется последовательная проверка элементов массива. Если очередной элемент является трехзначным числом, значение переменной flag должно измениться и стать соответствующим «да», в этом случае цикл можно прервать. Окончательный ответ можно дать только по завершении просмотра элементов в зависимости от значения переменной flag. Структурированная запись алгоритма 28 1 Ввести N. 2 Если N>20, то ограничим его максимально возможным N =20. 3 Повторять N раз в цикле i=1, N 3.1. Ввести значение элемента A[i] 4 Задать начальное значение flag = нет. 5 Повторять N раз в цикле i=1, N 5.1. Если 100≤ A[i] ≤999 или -999≤ A[i] ≤-100, то flag = да и цикл можно прервать. 6 Если flag = да, то вывести сообщение «В массиве есть трехзначные числа», иначе вывести сообщение «Трехзначных чисел в массиве нет». Схема алгоритма
Текст программы на языке Си #include <stdio.h> int main (void) { int a[20], n, i; char flag=0; printf (″Введите число элементов массива\n″); scanf (″%d″, &n); if (n>20) n=20; printf (″Введите значения элементов:\n”); for (i=0; i<n; i++) { printf (″a[%d]=″, i); scanf (″%d″, &a[i]); } for (i=0; i<n; i++) if (100<=a[i] && a[i]<=999 || -999<=a[i] && a[i]<=-100) { flag=1; break; } if (flag) printf ("В массиве есть трехзначные числа"); else printf ("Трехзначных чисел в массиве нет"); return 0; } Текст программы на языке Паскаль Program Pr_28; var a: array [1..20] of integer; n, i: integer; flag: boolean; begin writeln (ʹВведите число элементов массива’); read (n); if n>20 then n:=20; writeln (ʹВведите значения элементов:’); for i:=1 to n do begin
write (ʹa[’, i, ʹ]=’); read (a[i]) end; flag:=false; for i:=1 to n do if (100<=a[i]) and (a[i]<=999) or (-999<=a[i]) and (a[i]<=-100) then begin flag:=true; break end; if flag then write('В массиве есть трехзначные числа') else write('Трехзначных чисел в массиве нет') end. Текст программы на языке Фортран Program Pr_28 Implicit none integer a(20), n, i logical flag print *, ʹВведите число элементов массива’ read *, n if (n>20) n=20 print *, ʹВведите значения элементов:’ do i=1, n print *, ʹa[’, i, ʹ]=’ read *, a(i) enddo flag=.false. do i=1, n if (100<=a(i).and.a(i)<=999.or. & -999<=a[i].and.a[i]<=-100) then flag=.true. exit endif enddo if (flag) then print *, ' В массиве есть трехзначные числа ' else print *, ' Трехзначных чисел в массиве нет ' endif end Программа на языке Python print("Введите число элементов массива 1<=N<=20 ") N=int(input()) if N > 20: N = 20 A = [] # Создаем пустой список for i in range(N): # i = 0,..., N-1 -- всего N print("Введите {0}-й элемент: ".format(i+1)) A.append(float(input())) flag = False for i in range(N): # i = 0,..., N-1 -- всего N if -999 <=A[i] <= -100 or 100 <= A[i] <= 999: flag = True break if flag: print("В массиве есть трехзначные числа") else: print("Трехзначных чисел в массиве нет") Программа в системе Матлаб n=input('Введите число элементов массива'); if n>20 n=20; end for i=1:n A(i)=input(' A(i)='); end flag=false; for i=1:n if 100<=A(i) && A(i)<=999 || … -999<=A(i) && A(i)<=-100 flag=true; break; end end if flag disp(' В массиве есть трехзначные числа ') else disp(' Трехзначных чисел в массиве нет ') end С использованием векторных функций n=input('Введите число элементов массива'); if n>20 n=20; end for i=1:n A(i)=input(' A(i)='); end if length(A(100<=abs(A) & abs(A)<=999))~=0 disp(' В массиве есть трехзначные числа ') else disp(' Трехзначных чисел в массиве нет ') end
|
|||||
Последнее изменение этой страницы: 2021-04-12; просмотров: 68; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.128.129 (0.01 с.) |