![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
QDe5n1K |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
В общем, задание такое:
"Дан целочисленный массив.Найти самое часто повторяющееся в нем число"... Помогите, алгоритм примерно знаю, но реализовать не могу... напишите код, плз... т.е. , если в массиве такие числа :45,32,67,21,32,33,32,0,32,0 то должно быть выведено число 32 В общем, промежуточный результат у меня такой: Код var a,b,c:array[1..100] of integer; size,numb1,numb2,x:integer; begin writeln(' Size: '); readln(size); for numb1:=1 to size do begin write(' Enter ', numb1, '-th data of array: '); readln(a[numb1]); b[numb1]:=0; end; for numb1:=1 to size do for numb2:=size downto numb1 do if a[numb1]=a[numb2] then begin b[numb1]:=b[numb1]+1; c[numb1]:=a[numb1]; end; for numb1:=1 to size do for numb2:=size downto numb1 do if b[numb1]>b[numb2] then begin x:=b[numb1]; b[numb1]:=b[numb2]; b[numb2]:=x; end; writeln(b[numb2]); readln; end. т.е. я нашел, сколько раз повторяеться число, которого в массиве больше всего ![]() Сообщение отредактировано: QDe5n1K - 29.10.2004 3:10 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Я задал массив как константу...
Код const n = 15; a: array[1 .. n] of integer = ( 45, 45, 45, 16, 32, 67, 21, 32, 33, 32, 0, 45, 0, 45, 17 ); var i, j, t: integer; min: integer; count, maxcount, value, maxvalue: integer; begin for i :=1 to pred(n) do begin min := i; for j :=succ(i) to n do if a[j]<a[min] then min := j; t := a[min]; a[min] :=a[i]; a[i] := t; end; count := 0; maxcount := 0; value := a[1]; maxvalue := a[1]; for i := 1 to n do begin if a[i] = value then inc(count) else begin if maxcount < count then begin maxcount := count; maxvalue := value; end; value := a[i]; count := 1; end; end; writeln( 'Значение: ', maxvalue ); writeln( 'Встречается: ', maxcount, ' раз(а)' ); readln end. |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 3:49 |