Информация полезная, масштабная доказывают, получают, сведения, которые нужно уметь извлекать и использовать разъяснение
vera-sherepa231
16.10.2020
Паскаль. сменой знака считается переход от отрицательного к нулю, от нуля к положительному, от отрицательного к положительному и наоборот. по крайней мере в условии не сказано обратное. program progr1; var count,i,n,x,znak,znak_old: integer; begin write('n-> '); readln(n); count: =0; for i: =1 to n do begin write(i,'-> '); readln(x); if x < 0 then znak: =-1; if x> 0 then znak: =1; if x=0 then znak: =0; if i < > 1 then if znak < > znak_old then count: =count+1; znak_old: =znak; end; write('count=',count); readln; end.
imosal
16.10.2020
Увас не указано, над каким именно массивом нужно производить вышеописанное действие, поэтому я выкладываю общее решение. предположим, что a - это массив с какими-то сохранёнными числами до a[n] for i: =1 to n do if a[i] > 0 then begin k: =k+1; sum: =sum+a[i] end; average: =sum/k; (a - данный массив, sum - сумма всех положительных чисел, k - количество положительных чисел - n - индекс последнего элемента массива, i - переменная для цикла, average - переменная, сохраняющая численное значение) запускаем цикл от 1 до n и перебираем все числа массива. если i-тое число положительно, мы прибавляем его к sum, и увеличиваем k на 1, который сохраняет в себе количество положительных чисел массива. после завершения цикла, мы получаем k - количество положительных чисел, sum - сумма всех положительных чисел. чтобы найти среднее арифметическое, делим сумму всех чисел на их количество. (учитывайте, что переменная, сохраняющая среднее арифметическое должна иметь вещественный тип (real, вот и всё. если у вас возникают какие-то проблемы или ошибки в коде - оставьте комментарий. если у вас проблемы с созданием массива (чтение массива с клавиатуры или создание массива со случайными числами) - опять же таки пишите: )