Вопрос задан 24.07.2023 в 17:25. Предмет Информатика. Спрашивает Дворанин Диана.

Срочно PascalABC!!!!!!!!! Дан одномерный массив A. Отсортировать по убыванию, найти среднее

арифметическое положительных элементов
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бычуткин Дмитрий.

Program fantscrin;


 const n = 10;  

 Var a: array [1..n] of integer;


     i,j,k:integer; s:real;


Begin


 for i:=1 to n do


   a[i]:=random(20)-10;


 for i:=1 to n do


   write(a[i], '  ');


 


 for i:=1 to n do


   for j:=1 to n-1 do


     if (a[j]<a[j+1]) then


                      begin


                       k:=a[j];


                       a[j]:=a[j+1];


                       a[j+1]:=k;


                      end;


 


 writeln('');


 for i:=1 to n do


   write(a[i], '  ');


 for i:=1 to n do


   if (a[i] > 0) then s:=s+a[i];


 s:=s/n;


 writeln('');


 writeln(s);


End.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Хорошо, вот пример кода на PascalABC, который сортирует одномерный массив по убыванию и находит среднее арифметическое положительных элементов:

pascal
program SortAndAverage; const MAX_SIZE = 100; // Максимальный размер массива type TArray = array[1..MAX_SIZE] of integer; var A: TArray; n, i, j, temp, positiveCount, positiveSum: integer; average: real; procedure SortArrayDescending(var arr: TArray; size: integer); var i, j, temp: integer; begin for i := 1 to size - 1 do begin for j := i + 1 to size do begin if arr[i] < arr[j] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end; end; end; end; begin // Ввод размера массива write('Введите размер массива (не более ', MAX_SIZE, '): '); readln(n); // Проверка на валидность размера массива if (n < 1) or (n > MAX_SIZE) then begin writeln('Ошибка! Размер массива должен быть от 1 до ', MAX_SIZE); exit; end; // Ввод элементов массива writeln('Введите элементы массива:'); for i := 1 to n do begin write('A[', i, '] = '); readln(A[i]); end; // Сортировка массива по убыванию SortArrayDescending(A, n); // Вывод отсортированного массива writeln('Отсортированный массив:'); for i := 1 to n do write(A[i], ' '); writeln; // Нахождение среднего арифметического положительных элементов positiveCount := 0; positiveSum := 0; for i := 1 to n do begin if A[i] > 0 then begin positiveSum := positiveSum + A[i]; Inc(positiveCount); end; end; if positiveCount > 0 then begin average := positiveSum / positiveCount; writeln('Среднее арифметическое положительных элементов: ', average:0:2); end else writeln('В массиве нет положительных элементов.'); readln; end.

Программа позволяет ввести размер массива и его элементы, затем сортирует массив по убыванию и находит среднее арифметическое положительных элементов.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос