Форум программистов, компьютерный форум CyberForum.ru

Убыстрение работы программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция вычисления длины дискового файла http://www.cyberforum.ru/cpp-beginners/thread674564.html
Как сделать функцию, которая вычисляет длину дискового файла в байтах. При этом имя файла задано в командной строке.
C++ Разработка под какую платформу перспективнее Что на дальней дистанции перспективнее в плане разработки? там ПО под винду,анроид, иос.....какую платформу выбрать? http://www.cyberforum.ru/cpp-beginners/thread674563.html
C++ Переписать код с использованием указателей на функцию
Помогите вот эту программу переделать на указатели! Спасибо всем) #include <iostream> #include <locale.h> #include <conio.h> using namespace std; float sum(float,float); int main() { float a,b;
Преобразовать точки в троеточия C++
Дана строка символов. Преобразовать ее, заменив в ней каждую точку многоточием. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> void main () {int i;
C++ Простая программа на указатели! http://www.cyberforum.ru/cpp-beginners/thread674540.html
Помогите пожалуйста написать вот эту программу через указатели! Я не понимаю с чего начать, очень нужно! Заранее спасибо) #include <iostream> #include <conio.h> using namespace std; int min(int ,int); int max(int ,int); int main()
C++ Указатель на функцию float ( *f)(float, float); float rosenbrock(float x1, float x2) { return 100*pow((x2-x1*x1),2)+pow((1-x1),2); } f=rosenbrock; подробнее

Показать сообщение отдельно
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
19.10.2012, 13:41     Убыстрение работы программы
2 комментария добавлю.
чтобы проверить работоспособность программы сделал ввод не ручной, а рандомно записываю цифры ровно 9999 и последний 0 байт на все 10 строк. т.е полностью забил массивы.
так вот 1е программа думает доли секунды,
2е результат не выводится, хотя в 9999 символах в 10 строках есть хотябы одно которое длиною даже 3-4 символов... где то есть косячок

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

Добавлено через 14 часов 52 минуты
я придумал алгоритм на основе рекурсивного вызова следующей строки. в функцию будет передаваться субстрока и индификатор строки в которой нужно искать(порядковый номер).
соответвтвенно если субстрока будет найдена, функция будет вызвана рекурсивно с порядковым номером уже следующей строки. всего таких вызовов может быть н-1 где н количество строк. а всего циклов вот я высчитать пока что не могу. нужно составить алгоритм вычисления к примеру:
если строка длинной 2 то циклов будет 3, где 2 цикла по 1й букве
если строка длинной 3 то циклов будет 6, где 3 цикла по 1й букве
если строка длинной 4 то циклов будет 3, где 4 цикла по 1й букве
если строка длинной 5 то циклов будет 15, где 5 циклов по 1й букве
если строка длинной 6 то циклов будет 20, где 6 циклов по 1й букве
и т.д.... если поможете посчитать количество циклов,то напишу полную реализацию быстрее =)
 
Текущее время: 21:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru