![]() |
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 |
![]() ![]() |
Digitalator |
![]()
Сообщение
#2
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
ээээээ
Код for i :=1 to pred(n) do {1-ый цикл} begin min := i; for j :=succ(i) to n do {2-й цикл} if a[j]<a[min] then min := j; t := a[min]; a[min] :=a[i]; a[i] := t; end; Разве нет????????????? Я что-то неправильно понял? http://www.khgec.net/maxint.zip вот я написал прогу для нахождения частовсречающегося 2-х байтового знакового в файле (не будем же мы с клавиатуры миллиард чисел забивать ![]() Написал на делфи, т.к. че-то паскаль досявый не пашет.... но можно легко переделать прогу для паса. Используется менее 300кб памяти, все типы не длинее 4байт. В файле размером 2гб находит число менее чем за минуту. В архиве ехе-шник (если у кого делфей нет компилировать) и исходник. Проге нужен файл input.dat в тек. каталоге (не более 4гб т.к. используется longint для опр. размера, хотя прога будет работать и с файлами длиннее, просто будет некорректно работать ползунок ![]() -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 9:20 |