|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.08.2016, 23:50 | #1 |
Пользователь
Регистрация: 01.08.2016
Сообщений: 13
|
В чем причина долгого выполнения?
Вообщем вот код программы которая считает повторение слов в тексте из файла и пишет в файл сколько раз использовались вот ссылка на код https://www.dropbox.com/sh/bjo8wlqs6...NKdjh5GMa?dl=0 почему долго?
|
02.08.2016, 09:30 | #2 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
1. частое перераспределение памяти для получения КАЖДОГО слова.
(операции по ВЫДЕЛЕНИЮ памяти медленные) Цитата:
1. найти начало слова(индекс) k0:=i; 2. найти конец слова(индекс) k1:=i; 3. закончить цикл поиска слова и ОДИН раз получить память(строку) для слова Код:
Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 02.08.2016 в 09:33. |
||
02.08.2016, 13:26 | #3 |
Пользователь
Регистрация: 01.08.2016
Сообщений: 13
|
Пункт 2 можешь с кодом
|
03.08.2016, 10:07 | #4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
программа — запись алгоритма на языке понятном транслятору
|
03.08.2016, 15:33 | #5 |
Пользователь
Регистрация: 01.08.2016
Сообщений: 13
|
Вот очень нужно кстати
|
03.08.2016, 20:06 | #6 | |
Пользователь
Регистрация: 01.08.2016
Сообщений: 13
|
Цитата:
Последний раз редактировалось _Gremlin_; 03.08.2016 в 20:14. |
|
03.08.2016, 21:44 | #7 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
если алгоритм найдет значение, то ОБЯЗАН вернуть ИНДЕКС найденного.
а если нет?... если алгоритм НЕ находит данные, то он возвращает значение индекса ВНЕ границ. Цитата:
Цитата:
А в случае НЕУСПЕХА мы ОБЯЗАНЫ вернуть индекс ВНЕ массива.
программа — запись алгоритма на языке понятном транслятору
|
||
03.08.2016, 23:44 | #8 |
Пользователь
Регистрация: 01.08.2016
Сообщений: 13
|
Идет снова сранение и обращение к элементу под индексом 1 , что вне массива и происходит ошибка
|
04.08.2016, 09:20 | #9 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
входные данные
начальный индекс Lb =0 у нас всего ОДИН элемент значит ОН ЖЕ будет и последним конечный индекс Ub =0 !!!! М= (Lb + Ub)/2; =0!! ГДЕ обрашение к элементу c индексом 1 ?! Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
06.08.2016, 00:43 | #10 |
Пользователь
Регистрация: 01.08.2016
Сообщений: 13
|
точняк, я конечный брал за size, а надо за size-1
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не открывает PHP! В чем причина??? | Sergey88 | PHP | 1 | 10.07.2012 11:11 |
в чем причина | Arassir | PHP | 2 | 04.11.2011 12:56 |
в чем причина ошибки? | obsession | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 27.10.2011 19:57 |
В чем причина ошибки? Operator not... | Effort | Помощь студентам | 0 | 20.06.2011 03:35 |
2 ошибки в макросе, в чем причина? | robbe | Microsoft Office Excel | 4 | 15.02.2010 14:03 |