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

Как сократить время работы программы?! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ работа над графами http://www.cyberforum.ru/cpp-beginners/thread810899.html
помогите пжл. реализовать все ориентированные графы без циклов содержащий n вершин и m ребер
C++ Связные списки в С++.Не понял ничего Здравствуйте люди помогите пажалуйсто понять как работают связные списки.Я учусь по книге C++ для чайников.С начало все гладко усваивал.Сейчас застрял очень сильно на связных списках C++.Искал везде(попадались очень сложные примеры и объяснения) ,уже отчаялся.Если кто объяснит поподробней для чайников, начиная с односвязных списков(желательно без конструкторов и деструкторов), буду... http://www.cyberforum.ru/cpp-beginners/thread810888.html
C++ Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL
Сортировка слов по количеству в них букв 'А'. Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL. Мне не полностью программу. А реализацию данной функции. Вот эта выполняет сортировку слов по алфавиту по возрастанию... Возможно ли её переделать, чтобы выполнялась сортировка по кол-ву букв 'А' в слове? bool operator<(SYLLABLE syllable1, SYLLABLE syllable2) {...
C++ Не записываются данные в бинарный файл
Здравствуйте. Есть такая функция: void SaveBin() { if ((fd=fopen("file.dat", "wb"))==NULL) return; // открыть файл int g; Element *i=first; while(i) // пока есть значения { g=i->getData(); // получение значения элемента списка i=i->next; // перейти к следующему
C++ Циклическая очередь, сбой после удаления/добавления элемента http://www.cyberforum.ru/cpp-beginners/thread810867.html
нарушается после того как удаляю элемент, и добавляю элемент снова Организуйте циклическую очередь для хранения целых чисел. Для очереди используйте массив указателей на структуры. Продемонстрируйте добавление элемента, удаление элемента, добавление в переполненную очередь, удаление из пустой очереди. После каждого примера вывести содержимое очереди.#include <string.h> #include <stdlib.h>...
C++ перегрузка [] Здарова никак не могу перегрузить имеется класс Int2 моделирующий int я перегрузил rvalue тоесть при вызове int a; Int2 b(5,4);//5 элементов, знач 4 a=b; cout <<a; //4 подробнее

Показать сообщение отдельно
[O]Clic[K]
1 / 1 / 0
Регистрация: 28.03.2012
Сообщений: 55
17.03.2013, 14:14     Как сократить время работы программы?!
Нужно сократить время работы программы по вычислению чисел Фибоначчи:
Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
 
long TimeH()
{
    __asm rdtsc;
}
int main()
{
    int mas[100];
    int k=0;
    int a=0,b=1,sum,N,A=0,B=0;
    int N_max=0,i_max=0;
    while(1)
    {
        cout<<"Input number:";
        A=0,B=0;
        
        cin>>N;
        
        if(N==0)break;
 
                if(N<=N_max )
        {
            A=TimeH();
            for(int i=0;i<i_max;i++)
            {
                if(mas[i]<N)
                    cout<<mas[i]<<" ";
                else break;
            }
            B=TimeH();
            cout<<endl;
            cout<<"time: "<<B-A<<endl;
        }
 
        if(i_max==0)
        {
            A=TimeH();
            N_max=N;
            while(a<N)
            {
                mas[i_max]=a;
                sum=a+b;
                cout<<a<<" ";
                a=b;
                b=sum;
                i_max++;
            }
            B=TimeH();
            cout<<endl;
            cout<<"time: "<<B-A<<endl;
                
        }
        
 
        if(i_max>0 && N>N_max)
        {
            A=TimeH();
            while(mas[i_max-1]+mas[i_max-2]<N)
            {
                mas[i_max]=mas[i_max-1]+mas[i_max-2];
                i_max++;
            }
            N_max=N;
            for(int i=0;i<i_max;i++)
            {
                if(mas[i]<N)
                    cout<<mas[i]<<" ";
                else break;
            }
            B=TimeH();
            cout<<endl;
            cout<<"time: "<<B-A<<endl;
        }
            
    }
    return 0;
}
Проблема в том, что иногда время работы не уменьшается, а лишь увеличивается. С чем это связанно и можно ли это как-то устранить?!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru