Другие языки программирования и технологии

Помогите написать 2 программы на паскале.. . очень нужно

1.Массив
размером 2m + 1, где m – натуральное число, заполнен случайным образом. Найдите
в массиве медиану. Медианой называется элемент ряда, делящий его на две равные
части: в одной находятся элементы, которые не меньше медианы, в другой – не
больше медианы.

2.Массив
размером m, где m – натуральное число, заполнен случайным образом. Найдите в
массиве моду. Модой называется элемент ряда, который встречается наиболее
часто.
Пусть задан массив arr типа array [1..m] of Word.
Тогда сначала нужно отсортировать массив по неубыванию, а затем выполнить следующий код:

k := 0; n := arr[1]; maxk := 0; maxn := arr[1];

for i := 1 to m do if arr[i] > n then begin if k > maxk then begin maxk = k; maxn := n; end; k := 1; n := arr[i]; end else inc(k); if k > maxk then begin maxk = k; maxn := n; end;

WriteLn('Мода = ', maxn);
RC
Roberto Carulli
78 347
Лучший ответ
Не понятно с медианой, дай числовой пример
Георгий, если мне изменяет память, то должно быть так:

Если ряд содержит нечетное количество чисел, за его медиану следует принять значение, стоящее ровно посередине набора.
Например, имеется числовая последовательность вида: 400 250 640 700 900 100 300 170 550. В этом наборе числа стоят не по порядку. После его упорядочивания по возрастанию получится следующий
ряд: 100 170 250 300 400 550 640 700 900. Как видно, последовательность состоит из 9 значений. Медианой числового набора в данном случае будет являться число 400. Именно от его позиции по одну сторону все числа не больше медианы, а по другую – не меньше.

При рассмотрении значений четной последовательности центральными будут уже не один, а два числа: m и k. Найдите эти числа также после упорядочивания набора по возрастанию. Медиана этом случае будет являться средним арифметическим показателем данных значений. Вычислите ее по формуле (m + k)/2. Например, в отсортированном ряду 200 400 600 4000 30000 50000 числа 600 и 4000 занимают центральные позиции. Следовательно, медианой числовой последовательности будет следующее значение: (600 + 4000)/2 = 2300.

P.S. Будет время - напишу.
Георгий, есть числовой ряд
1 2 3 4 5 6 7

медиана - это 4, т. е число которое стоит посередине упорядоченного ряда

1 2 3 4 5 6

в данном случае медиана - это среднее арифметическое двух средних чисел, т. е. (3+4)/2 = 3.5 (при четном количестве элементов)