![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
student___ |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Женский Репутация: ![]() ![]() ![]() |
Здравствуйте. Есть программа, решающие такие две задачи. 1. Указать относительную частотувстречаемости каждого символа в тексте. вывести соответствующую диаграмму(при помощи модуля graph) (знаки препинания не учитываем)2. Найти все слова перевертыши. Задача решаются следующим образом. с помощью модуля Crt появляется на экране меню, с выбором как вводить данные. 1. с клавиатуры. 2. из файла. далее после ввода данных появляется меню с выбором программы: 1.относительная частота. 2. слова перевертыши. далее выполняется либо первая либо вторая задача. затем появляется меню с пунктами :"сохранить решение в файл" или "вывести на экран". код задач находятся в модуле slova и оформлены в виде процедур. код меню находится в модуле modulmenu. ну и конечно основная программа к которой подключены все модули и и процедуры.
проблема вот такая. задача про слова перевертыши работает отлично, и на вводе текста из файла и склавиатуры, и на выводе данных. но первая задача, про относительную частоту работает очень странно...диаграммы выводит какие-то непонятные данные , а когда появляется меню вывода данных то там вместо пунктов "на экран" и "в файл" показывает полную чушь. понимаю что разбираться в чужом коде это самая неблагодарная в мире работа, но я очень прошу помощи.это очень важная работа. прикепляю файлы с задачами до преобразования в процедуры, файлы с которыми работает программы и , конечно же, коды самой программы, с которой ошибка. кстати все работает хорошо. видимо ошибка в процедуре. несколько дней маюсь , не могу никак ее найти. очень надеюсь на вашу помощь. Прикрепленные файлы ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Федосеев Павел |
![]()
Сообщение
#2
|
Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: ![]() ![]() ![]() |
Мне кажется, что я уже отмечал в предыдущем твоём топике, что нужно инициализировать все переменные.
В модуле slova:
procedure PoiskSimvolov(input_str: massive; count: integer; var out_str: massive; var nomer: integer);
......
begin
j := 1;
k := 1; h:=0;
q :=0; <-------------- добавь инициализацию
for i:=0 to 255 do <-------------- добавь инициализацию
a[i]:=0;
......................
эти строки, наверное в таком порядке и с добавлением вычислений в результирующую строку
str((a[i] / h): 3: 3, st);
out_str[nomer] := chr(i) + ' - ' + 'частота-'+st; <------ добавилась конкатенция с st
..............
кроме того, закрывай графическое окно
if InitGr then
begin
....................
ReadLn; <--------- закрытие окна, но для закрытия придётся сделать активным консольное
CloseGraph;
end
else
WriteLn('idi ti');
................
А по поводу вывода текста - оформи весь текст ввода-вывода на английском. Судя по длине имён файлов, ты работаешь в Windows, а там с русификацией консольных кодировок просто бардак, в одних случаях берётся ANSI, а в других CP866. Причём всё зависит от индивидуальных настроек компьютера, использования CRT и чего-то ещё. Ну если с английским - беда, то запиши транслитом. Это конечно не очень хорошо, но всё же лучше, чем иероглифы. P.S. Для чтения текстового файла в память не обязательно создавать статические массивы - существуют готовые объекты - TStringList - которые очень удобно использовать для этих целей.маленький пример P.P.S. Также, для оформления текста исходников, можно пользоваться автоматическими форматтерами. Здесь описание пары таких программ. Сообщение отредактировано: Федосеев Павел - |
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
спасибо. попробую . отпишусь
|
![]() ![]() |
![]() |
Текстовая версия | 19.04.2025 19:19 |