
Дан массив целых чисел А1..AN. Выяснить, какая из трех ситуаций имеет место: все числа А1..AN равны
нулю, в последовательности А1..AN первое ненулевое число - положительное, первое ненулевое число - отрицательное.

Ответы на вопрос

program raf105;
const
n = 10;
var
x: array[1..n] of integer;
i: integer;
a,b,c: boolean;
begin
a:= True;
writeln('Заполните массив из ',n,' чисел');
for i:=1 to n do
begin
readln(x[i]);
a:= (x[i] = 0) and a;
b:= ( not(c) and (x[i] > 0) ) or b;
c:= ( not(b) and (x[i] < 0) ) or c;
end;
if a
then writeln('Все числа равны нулю');
if b
then writeln('Первое ненулевое число - положительное');
if c
then writeln('Первое ненулевое число - отрицательное');
end.
PascalABC 3.4.2



Для определения указанных ситуаций в массиве целых чисел A1..AN, можно выполнить следующий алгоритм:
Проверка, все ли числа А1..AN равны нулю:
- Просто просмотреть все элементы массива и если хотя бы один из них не равен нулю, то условие не выполняется.
Проверка первого ненулевого числа:
- Итерироваться по массиву до тех пор, пока не найдется первый ненулевой элемент.
- После нахождения ненулевого элемента проверить, является ли он положительным или отрицательным.
Давайте предположим, что у нас есть массив A размера N, индексация начинается с 1.
pythondef check_situations(arr):
n = len(arr)
# Проверка на все числа равны нулю
all_zeros = all(num == 0 for num in arr)
if all_zeros:
return "Все числа равны нулю"
# Проверка на первое ненулевое число
first_non_zero = None
for i in range(n):
if arr[i] != 0:
first_non_zero = arr[i]
break
if first_non_zero > 0:
return "Первое ненулевое число - положительное"
else:
return "Первое ненулевое число - отрицательное"
# Пример использования
arr = [0, 0, 0, 0, 0]
print(check_situations(arr)) # Все числа равны нулю
arr = [0, 0, 3, 5, 7]
print(check_situations(arr)) # Первое ненулевое число - положительное
arr = [-2, 0, 4, 8, -6]
print(check_situations(arr)) # Первое ненулевое число - отрицательное
Вызов функции check_situations(arr)
вернет информацию о том, какая из трех ситуаций имеет место в массиве arr
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili