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

Перегрузка operator<< - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Открытие и Закрытие дисковода. http://www.cyberforum.ru/cpp-beginners/thread244074.html
Вот такой у меня код #pragma comment(lib,"winmm.lib") #include <iostream> #include <mmsystem.h> using namespace std; int main () { mciSendString("Set cdaudio door open wait", NULL, 0, NULL); mciSendString("Set cdaudio door closed wait", NULL, 0, NULL); }
C++ Найти максимальный четный элемент массива Здравствуйте! Если вам не сложно - напишите пожалуйста программу для нахождения максимального четного элемента массива на Си. http://www.cyberforum.ru/cpp-beginners/thread244068.html
освоение основ C++
я учусь на инженера программного обеспечения на втором курсе. Нам дают всего по чу-чуть, возникла нужда в самообразовании. Как я выяснил для себя, я плохо знаю основы и самому трудно написать программу. Решил самостоятельно пройтись по следующим темам условия, циклы, массивы, указатели, функции, алгоритмы сортировки и поиска, структуры данных. По выполнять упражнения с книги, пописать по больше....
MessageBox выводит китайские(японские) иероглифы C++
DWORD dwRead = 0; DWORD buf_size = 4096; DWORD dwSize = GetFileSize(hFile, NULL); char* pBuffer=(char*)VirtualAlloc(NULL,buf_size,MEM_COMMIT,PAGE_READWRITE); ReadFile(hFile, pBuffer, dwSize, &dwRead, NULL); CString ptr2 = reinterpret_cast<LPCWSTR>(pBuffer); MessageBox(ptr2)
C++ МАТРИЦА РАССТОЯНИЙ ГРАФА http://www.cyberforum.ru/cpp-beginners/thread244052.html
Доброго времени суток! Помогите пожалуйста! Пытаюсь написать программу, которая находила бы матрицу расстояний по матрице смежности. Обыскала всевозможные источники информации. Нашла алгоритм нахождения матрицы расстояний с помощью алгоритма Флойда. Но программа находит матрицу расстояний не для всех графов, а если быть точной, для ограниченного числа неориентированных графов. Для орграфов не...
C++ Вывести середину строк (между кавычками) в файл Есть файл. Из него читаю по строкам if (strstr( s, " Как можно из каждой найденной такой строки вытянуть текст, находящийся между кавычками? Из строчки нужно выдернуть текст между кавычек 8/8/8/8/1Q6/1K6/8/2Nk4 w - - 0 1 и сохранить в файл с символом окончания строки. В итоге должен получится текстовый файл с несколькими такими строками. Как лучше реализовать? Создать массив, потом его... подробнее

Показать сообщение отдельно
Stitch Igorek
 Аватар для Stitch Igorek
44 / 44 / 17
Регистрация: 02.04.2016
Сообщений: 300
Завершенные тесты: 1
23.04.2016, 12:20     Перегрузка operator<<
при помощи этого кода выяснилось, что разница хоть и не большая - но есть.
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
#include <iostream>
#include <time.h>
 
int main()
{
    const int size(30000);
    int arr[size];
    srand(time(NULL));
    //рандомно заполняем массив
    for (int i(0); i < size; i++)
    {
        arr[i] = rand() % 200;
    }
 
    clock_t start, end;
    //засекаем время
    start = clock();
    //сортируем пузырьком обращаясь к массиву при помощи индексации
    for (int i(0); i < (size - 1); i++)
        for (int j(i); j < size; j++)
            if (arr[i] > arr[j])
            {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
    //останавливаем время - выводим на консоль результат
    end = clock();
    std::cout << ((double)end - start) / ((double)CLOCKS_PER_SEC) << std::endl;
    //снова рандомно заполняем
    for (int i(0); i < size; i++)
    {
        arr[i] = rand() % 200;
    }
    //снова засекаем время
    start = clock();
    //снова сортируем пузырьком, но уже обращаемся к элементам массива с помощью адресной арифметики
    for (int i(0); i < (size - 1); i++)
        for (int j(i); j < size; j++)
            if (*(arr + i) > *(arr + j))
            {
                int temp = *(arr + i);
                *(arr + i) = *(arr + j);
                *(arr + j) = temp;
            }
    //снова останавливаем время - выводим на консоль результат
    end = clock();
    std::cout << ((double)end - start) / ((double)CLOCKS_PER_SEC) << std::endl;
 
    system("pause");
    return 0;
}
100.000 элементов первый вариант сортировал 10,633 сек, второй вариант 10,451.
 
Текущее время: 03:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru