Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/29: Рейтинг темы: голосов - 29, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.04.2017
Сообщений: 4

Нахождения моды, медианы, ранжировочного списка чисел

30.04.2017, 16:47. Показов 5519. Ответов 6

Студворк — интернет-сервис помощи студентам
Здравствуйте! Прошу помощи. Допустим, введены числа (1, 22, 58, 5, 3, 10). Теперь надо найти моду среди чисел(часто встречающаяся), ранжировочный список (1,3,5,10,22,58). И найти медиану чисел( если количество чисел нечетное, например 1 2 3 4 5 6 7, то медиана 4, а если четное 1 2 3 4 5 6, то медиана 3+4/2=3,5). Стоит обратить внимание, медиана чисел определяется после ранжировки чисел, только в таком списке обычно находят медиану(в математике). Заранее спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2017, 16:47
Ответы с готовыми решениями:

Нахождение моды и медианы
Задача 1 **** Подскажите, как определить моду и медиану? Спасибо. У меня пока лишь догадки, что моды там нет, т.к. на промежутке ...

График частот с показаниями моды, медианы, ср.знач.,асимметрии, эксцесса
Здравствуйте! Уважаемые форумчане, у меня к вам вопрос такой: Как на графике изобразить несколько показателей? Необходимо построить график...

Создать функцию для нахождения моды
Здравствуйте, нужно создать функцию для нахождения моды (это и есть все задание). Заранее спасибо.

6
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
30.04.2017, 21:37
Лучший ответ Сообщение было отмечено Лео Месси как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var
   mas: array[1..100] of integer;
   i, j, n, swap, tmp, MAX, k: integer;
 
begin
   
   reset(input, 'c:\\input.txt');
   rewrite(output, 'c:\\output.txt');
   randomize;
   read(n);
   
   for i := 1 to n do mas[i] := random(5) + 1;
   
   for i := 1 to n do write(mas[i]:3);
   
   for i := 1 to n - 1 do
      for j := 1 to n - 1 do
         if(mas[j] > mas[j + 1]) then
         begin
            swap := mas[j];
            mas[j] := mas[j + 1];
            mas[j + 1] := swap;
         end;
   
   writeln;
   write('Ранжировка: ');
   for i := 1 to n do write(mas[i]:3);
   
   writeln;
   if(odd(n)) then write('Медиана: ', mas[(n div 2) + 1])
   else write('Медиана: ', (mas[n div 2] + mas[(n div 2) + 1]) / 2);
   
   tmp := 1;
   for i := 2 to n do
   begin
      if(mas[1] = mas[i]) then tmp := tmp + 1;
   end;
   
   MAX := tmp;tmp := 1;k := mas[1];
   for i := 2 to n do
   begin
      
      if(tmp > MAX) then
      begin
      MAX := tmp;
      k := mas[i];
      end;
      
      tmp := 1;
      for j := i + 1 to n do
         if(mas[i] = mas[j]) then tmp := tmp + 1;
         
   end;
   
   writeln;
   write('Часто встречающаяся число: ',k);
end.
1
0 / 0 / 0
Регистрация: 30.04.2017
Сообщений: 4
01.05.2017, 08:36  [ТС]
Спасибо за помощь. Можно вопрос? reset(input, 'c:\\input.txt');
rewrite(output, 'c:\\output.txt'); для чего нужно? Пишет ошибка, мол файл не найден. А если убрать, то работает.
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,434
01.05.2017, 08:50
Лео Месси, возможно, осталось от программы, в которой ввод и вывод шли из/в файла (файл). Вам не нужно. У вас на ввод/вывод с клавиатуры (на экран).
1
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
01.05.2017, 13:08
Цитата Сообщение от Лео Месси Посмотреть сообщение
reset(input, 'c:\\input.txt');
rewrite(output, 'c:\\output.txt'); для чего нужно?
Это нужно для работы с файлами. В input.txt вводишь данные а в output.txt выводится ответ
1
0 / 0 / 0
Регистрация: 30.04.2017
Сообщений: 4
07.05.2017, 08:27  [ТС]
no swear, Здравствуйте. У меня возникла одна проблема.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var 
mas: array[1..100] of integer; 
i, j, n, swap, tmp, MAX, k,a,c: integer;b:real; 
begin 
 
 
randomize; 
n:=strtoint(richtextbox1.text); 
b:=0; 
for i := 1 to n do mas[i] := PABCSystem.random(5) + 1;
for i:=1 to n do listbox1.items.add(inttostr(mas[i]));
for i := 1 to n - 1 do 
for j := 1 to n - 1 do 
if(mas[j] > mas[j + 1]) then 
begin 
swap := mas[j]; 
mas[j] := mas[j + 1]; 
mas[j + 1] := swap; 
end; 
for i:=1 to n do listbox2.items.add(inttostr(mas[i]));
//Медиана внизу
Pascal
1
2
if(odd(n)) then richtextbox5.text:=floattostr( mas[(n div 2) + 1]) 
else richtextbox5.text:=floattostr (mas[n div 2] + mas[(n div 2) + 1]) / 2;
Проблема в этом коде. Дело в том что, переменная n обозначена как integer для выполнения for i := 1 to n do mas[i], а чтобы найти медиану, при делении может выйти вещественный тип, я и написал floattostr, но из за обозначении как тип integer в самом начале процедуры, выходит ошибка 'нельзя преобразовать тип string k real'
Как решить? Спасибо
Этот вопрос в этой теме: Mediana,PascalAbc WindowsForms
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
07.05.2017, 16:32
Попробуйте обозначить n как вещественный тип
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.05.2017, 16:32
Помогаю со студенческими работами здесь

Составить блок-схему по коду (нахождения «моды»)
program zadanie5; uses crt; const m=25; n=100; var a:array of integer; mas:array of integer; i,j,c,b,moda,max:integer; begin ...

Нахождения медианы quick sort
При попытке найти медиану процесс начинает грузить процессор. Деббагер показывает на линию, где выбирается медиана. Подскажите, в чем...

Рекуррентное выражение для нахождения медианы
Допустим, имеется массив размера m и известна его медиана. В конец массива добавляется n элементов, с начала исключается n элементов. Как...

Оптимизация программы нахождения медианы массива
Всем доброй ночи. Мне надо было написать программку, которая выводит медиану массива - перелистал много тем, но так и не нашел нормального...

Составить программу нахождения длины медианы треугольника по трем его сторонам
Составить программу нахождения длины медианы треугольника по трем его сторонам.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru