Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ работа над графами https://www.cyberforum.ru/ cpp-beginners/ thread810899.html
помогите пжл. реализовать все ориентированные графы без циклов содержащий n вершин и m ребер
C++ Связные списки в С++.Не понял ничего
Здравствуйте люди помогите пажалуйсто понять как работают связные списки.Я учусь по книге C++ для чайников.С начало все гладко усваивал.Сейчас застрял очень сильно на связных списках C++.Искал...
C++ Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL Сортировка слов по количеству в них букв 'А'. Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL. Мне не полностью программу. А реализацию данной функции. Вот эта... https://www.cyberforum.ru/ cpp-beginners/ thread810882.html C++ Не записываются данные в бинарный файл Здравствуйте. Есть такая функция: void SaveBin() { if ((fd=fopen("file.dat", "wb"))==NULL) return; // открыть файл int g; Element *i=first; while(i) // пока есть... https://www.cyberforum.ru/ cpp-beginners/ thread810874.html
Циклическая очередь, сбой после удаления/добавления элемента C++
нарушается после того как удаляю элемент, и добавляю элемент снова Организуйте циклическую очередь для хранения целых чисел. Для очереди используйте массив указателей на структуры. ...
C++ перегрузка [] Здарова никак не могу перегрузить имеется класс Int2 моделирующий int я перегрузил rvalue тоесть при вызове int a; Int2 b(5,4);//5 элементов, знач 4 a=b; cout <<a; //4 https://www.cyberforum.ru/ cpp-beginners/ thread810842.html
C++ Кодер Хемминга https://www.cyberforum.ru/ cpp-beginners/ thread810833.html
Нашёл в интернете кодер Хемминга, но при запуске выдаёт ошибку о том, что переменная otv была использована до её объявления. Сам в коде разобраться пока не смог. Помогите исправить код, чтобы он...
dev c++ max stack size C++
подскажите где в dev c++ можно выставить размер стэка,стандартного 1 мб маловато мне 3 необходимо
C++ программирование рекурсивных алгоритмов Подсчитать, сколькими способами можно расставить k двоек в n- мерном троичном векторе (0\leq k\leq n). Вывести все возможные варианты. https://www.cyberforum.ru/ cpp-beginners/ thread810820.html C++ Неизвестная конструкция https://www.cyberforum.ru/ cpp-beginners/ thread810817.html
Задача поставлена так: Написать программу, переводящую арабские числа в римские. Задача упрощается тем, что можна считать, что 40=XXXX, 9=VIIII и тому подобное. Саму программу я написал, но меня...
Условия if C++
Компилятор выдает ошибки: miplased else, expression syntax, missing ;. Не могу разобраться что не так в условиях... if (GetText=="REGISTRATION") { ...
C++ Структурный тип данных. Описать структуру с именем STUDENT https://www.cyberforum.ru/ cpp-beginners/ thread810793.html
Пожалуйста, помогите написать программу: Описать структуру с именем STUDENT, содержащую следующие поля: Фамилия и инициалы; Номер группы; Успеваемость (массив из 5 элементов). Написать...
1 / 1 / 0
Регистрация: 28.03.2012
Сообщений: 55
0

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

17.03.2013, 14:14. Показов 3774. Ответов 3
Метки (Все метки)

Нужно сократить время работы программы по вычислению чисел Фибоначчи:
Вот мой код:
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;
}
Проблема в том, что иногда время работы не уменьшается, а лишь увеличивается. С чем это связанно и можно ли это как-то устранить?!

Вернуться к обсуждению:
Как сократить время работы программы?! C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2013, 14:14
Готовые ответы и решения:

Счастливый билет. Надо сократить время работы программы
Написал 2 программы обе работают очень долго первая 19сек вторая 15сек А надо: Лимит времени...

Подскажите, как сократить время работы кода? Проверка на простое число
#include &lt;iostream&gt; using namespace std; int main() { int x, k = 0; cin &gt;&gt; x; ...

Как уменьшить время работы программы?
#include&lt;iostream&gt; using namespace std; int main() { int a,m,n; double d,o,w; ...

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

3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2013, 14:14
Помогаю со студенческими работами здесь

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

Как записать адрес в указатель во время работы программы
Нужно чтобы пользователь ввел адрес в сам указатель: int *ptr; cin &gt;&gt; ptr; error C2678:...

Как измерить время работы программы по сортировке массива?
Общая схема программы Х выглядит следующим образом. а. Выбрать очередной размер массива исходных...

Как влияет потоковый вывод на время работы программы?
Доброго времени суток! Есть код который решает задачку про Ханойские башни. В центре мира в...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru