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

Возвращение строки с обратным регистром - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ задан текст состоящий из слов. хотя бы начать с чего напишите) http://www.cyberforum.ru/cpp-beginners/thread865946.html
Задан текст, состоящий из слов, записанных через запятые и/или пробел, и заканчивающийся точкой. Длина текста не больше 100 символов, могут быть использованы любые символы. Словом считается последовательность символов, не содержащая пробел. Сформировать новую строку, в которую включены слова по возрастанию их длин. Получить массив результатов деления на 100 цифровых слов.
C++ Обработка матрицы. Как работает программа? Помогите пожалуйста, не могу понять, Как работает программа, объясните пожалуйста, как происходит поиск по матрице или напишите комментарии #include <iostream> #include <cstdlib> #include <iomanip> #include <ctime> #include <cmath> using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread865937.html
программы-переводчика C++
подскажите самый примитивный код программы-переводчика кто знает.
C++ Visual Studio. Как правильно подключать инклуды?
Как правильно подключать инклуды? Работаю в консольном режиме. Инклуды добавляю через мастер классов, но они почему-то пустые, в чем проблема?
C++ Вывести все неповторяющиеся элементы массива http://www.cyberforum.ru/cpp-beginners/thread865928.html
Ввести одномерный динамический массив из k чисел. Выполнить в соответствии с номером варианта индивидуальное задание и вывести на экран исходные данные и полученный результат. мой вариант:. Вывести все неповторяющиеся элементы массива. помогите пожалуйста,вот мой код.выдает ошибку..что то забыла прописать,не могу понять что(((заранее спасибо) #include "stdafx.h" #include "stdio.h" #include...
C++ метод симпсона помогите реализовать метод симпсона на языке C++. подробнее

Показать сообщение отдельно
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
15.05.2013, 18:14     Возвращение строки с обратным регистром
ForEveR, я не правильно время замерял. Вот код
Кликните здесь для просмотра всего текста
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
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <cctype>
#include <ctime>
#include <string>
 
#define MAX_ITERATION 10000000
 
int main()
{
    clock_t time;
    
    std::string str("qWeRtY uIoP[  ]A   SdfghJklk;'ZXcvbcxMMMBNBM,./dsadsdas");
    std::string dump(str);
    
    time = clock();
    
    for (long i = 0; i < MAX_ITERATION; ++i)
    {
        str = dump;
        for (std::string::iterator c = str.begin(); c != str.end(); ++c)
        {
            if (isalpha(*c))
                *c ^= 32;
        }
    }
    
    time = clock() - time;
    std::cout << (double)time / CLOCKS_PER_SEC << std::endl;
    
    time = clock();
    
    for (long i = 0; i < MAX_ITERATION; ++i)
    {
        str = dump;
        for (std::string::iterator c = str.begin(); c != str.end(); ++c)
        {
            if (isupper(*c))
            {
                *c = tolower(*c);
            }
            else
            {
                if (islower(*c))
                {
                    *c = toupper(*c);
                }
            }
        }
    }
    
    time = clock() - time;
    std::cout << (double)time / CLOCKS_PER_SEC << std::endl;
 
    time = clock();
    
    for (long i = 0; i < MAX_ITERATION; ++i)
    {
        str = dump;
        for (std::string::iterator c = str.begin(); c != str.end(); ++c)
        {
            if (isalpha(*c))
                *c ^= 32;
        }
    }
    
    time = clock() - time;
    std::cout << (double)time / CLOCKS_PER_SEC << std::endl;
    
    time = clock();
    
    for (long i = 0; i < MAX_ITERATION; ++i)
    {
        str = dump;
        for (std::string::iterator c = str.begin(); c != str.end(); ++c)
        {
            if (isupper(*c))
            {
                *c = tolower(*c);
            }
            else
            {
                if (islower(*c))
                {
                    *c = toupper(*c);
                }
            }
        }
    }
    
    time = clock() - time;
    std::cout << (double)time / CLOCKS_PER_SEC << std::endl;
    
    std::system("pause");
}
Вот результат.
Мой
Ваш
Мой
Ваш
http://d.pr/i/41Gc Как видим из скрина - выигриш более чем в два раза.
 
Текущее время: 05:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru