
2. В массиве Z[1..N] определить сумму нечетных чисел от последнего нулевого значения до Z[N] и
среднее арифметическое четных чисел, находящихся в массиве до последнего нуля. Если нулей в массиве нет, то рассортировать все числа по убыванию.

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

var z:array[1..nx] of integer; i,j,n,m,d,s,s1,k:integer; sr:real;
begin
write ('Введите число элементов n');read(n);
for i:= 1 to n do begin
z[i]:= random(30)-5;
write(z[i]:3);
if z[i]=0 then m:=i;end;writeln;
if m > 0 then begin
for j:=1 to n do begin
if (j< m) and (z[j] mod 2 = 0) then s:= s + z[j];
if (j> m) and (z[j] mod 2 = 1) then begin s1:= s1 + z[j]; k:= k +1; end;end;end
else
begin
writeln;
for i:=1 to n do begin
for j:=2 to n do begin
if z[j] > z[j-1] then begind:=z[j-1]; z[j-1]:=z[j]; z[j]:= d;end;end;
end;end;writeln;
sr:= s1 /k;
if m > 0 then begin
writeln('сумму нечетных чисел от последнего нулевого значения до Z[N]', s:6);
write('среднее арифметическое четных чисел, находящихся в массиве до последнего нуля ', sr:6:3);
end
else
for j:=1 to n do
write(z[j]:3);end.



Конечно, это задача на работу с массивами чисел. Давай разберём её шаг за шагом.
1. Определение суммы нечетных чисел от последнего нулевого значения до Z[N]: - Нам нужно найти последний ноль в массиве и начать суммировать нечетные числа после него. - Переберём массив с конца к началу, найдем последний ноль и начнем суммировать нечетные числа после него до конца массива.
2. Вычисление среднего арифметического четных чисел до последнего нуля: - Тут нам нужно найти последний ноль и вычислить среднее арифметическое четных чисел до этого нуля. - Обратный проход по массиву до первого нуля, подсчет количества четных чисел и их суммы для вычисления среднего арифметического.
3. Если нулей в массиве нет, рассортировать все числа по убыванию: - В этом случае, если нулей нет, используем метод сортировки, например, пузырьковую сортировку или сортировку вставками для упорядочивания чисел в порядке убывания.
Пример кода на Python, который решает эту задачу:
```python def sum_odd_after_last_zero(arr): last_zero_index = -1 for i in range(len(arr) - 1, -1, -1): if arr[i] == 0: last_zero_index = i break
odd_sum = 0 for i in range(last_zero_index + 1, len(arr)): if arr[i] % 2 != 0: odd_sum += arr[i]
return odd_sum
def average_even_before_last_zero(arr): last_zero_index = -1 for i in range(len(arr) - 1, -1, -1): if arr[i] == 0: last_zero_index = i break
even_count = 0 even_sum = 0 for i in range(last_zero_index): if arr[i] % 2 == 0: even_count += 1 even_sum += arr[i]
if even_count == 0: return None else: return even_sum / even_count
def sort_descending(arr): arr.sort(reverse=True) return arr
# Пример использования функций: Z = [3, 8, 2, 0, 5, 7, 0, 10, 4] sum_odd = sum_odd_after_last_zero(Z) avg_even = average_even_before_last_zero(Z)
if sum_odd > 0: print(f"Сумма нечетных чисел после последнего нуля: {sum_odd}") else: print("Нет нечетных чисел после последнего нуля")
if avg_even is not None: print(f"Среднее арифметическое четных до последнего нуля: {avg_even}") else: print("Нет четных чисел до последнего нуля")
if sum_odd == 0 and avg_even is None: sorted_arr = sort_descending(Z) print(f"Отсортированный массив по убыванию: {sorted_arr}") ```
Этот код решает задачу для заданного массива `Z` и выводит соответствующие результаты, в зависимости от условий, описанных в задаче.


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








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