Форум » Массивы, сортировка, работа с файлами » 2644 » Ответить

2644

Anton: Ответы расходятся, не понимаю в чём ошибка (По ключам 340): На вход программе поступает набор чисел в диапазоне [10; 10000]. Необходимо узнать сколько чисел в массиве находятся в диапазоне между средним значением и медианой, включая совпадающие с этими показателями значения. Медианой называется такое значение, что ровно половина из оставшихся элементов больше медианы и, соответственно, вторая половина меньше медианы. Решение на Pascal: [pre2] var count,i,N,med,sum:integer; sr:real; a:array of integer; f:text; begin assign(f,'C:\26-j2.txt'); reset(f); readln(f,N); Setlength(a,N); for i:=0 to N-1 do begin readln(f,a[ i]); inc(sum,a[ i]); end; sort(a); sr:= sum/N; med := a[(N-1) div 2]; print(sr,med); for i:=0 to N-1 do begin if ((a[ i] >= sr) and (a[ i] <= med)) or ((a[ i] <= sr) and (a[ i] >= med)) then inc(count); end; print(count); close(f); end. [/pre2] Считываем/сортируем массив, находим среднее значение sr и медиану med, потом проверяем, лежат ли элементы массива в диапазоне этих чисел и если да, то увеличиваем счётчик count

Ответов - 0



полная версия страницы