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

Решето Эратосфена - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифр Бэкона http://www.cyberforum.ru/cpp-beginners/thread210692.html
Народ, помогите решить задачу, если есть что то похожее то можете дать ссылку? Буду очень благодарен Шифр Бэкона. Требуется разработать программу шифрования текстовых данных в файле и программу...
C++ Дана строка Подсчитать общие количество в ней строчных латинских букв спасите Дана строка Подсчитать общие количество в ней строчных латинских букв 2 Дана строка предложение Записать все слова встроке с права на лево ПРимер It is nice dav ---tI si ecin vad. http://www.cyberforum.ru/cpp-beginners/thread210683.html
Найти сумму 2 наибольших из трех чисел C++
1) Даны 3 целых числа. Найти сумму 2 наибольших из них. 2)дана структура данных из 5 названий цветочных растений цветок -название -месяц цветения пользователь вводит дату получает название...
C++ Видеоизображение
Кто-нибудь выводил сабж на экран монитора?
C++ C++. Замена элементов в файле http://www.cyberforum.ru/cpp-beginners/thread210655.html
Доброго времени суток. Помогите решить задачку. Для двоичного файла, содержащего данные типа int, создать его копию, в которой заменить элементы с четным значением на 0, а нечетным на –1....
C++ Массивы структур Помогите написать программу, выдаёт много ошибок. Разработать программу , позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также выполнять... подробнее

Показать сообщение отдельно
1234569
5 / 5 / 1
Регистрация: 25.11.2010
Сообщений: 23
18.12.2010, 21:54  [ТС]
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
//Era3, потребление памяти для вычисления 100 000 000 простых чисел - 100МБ. Для 1 000 000 000 - 1.5ГБ
#include <math.h>//нужен для sqrt(n)
#include <fstream.h>//нужен для ifstream, ofstream, cin, cout
#include <windows.h>//нужен для вывода кириллицы
 
char *sieveE;
 
void main()
{ 
    system("chcp 1251>nul");//меняем кодировку консоли
    unsigned long j,i,n;
 
    ofstream f1("out.txt");//открываем поток файла на запись
    cout<<"Решето Эратосфена\n"<<"Введите верхний предел: ";
        cin>>n;
        if(n<2){cout<<"Мало"<<endl;return;}
 
    sieveE=new char[n+1];//изменяем размер массива
    sieveE[1]=1;
 
    for(i=2;i<n;i++) sieveE[i]=0;
    
    unsigned long sqrtLimit=(unsigned long)sqrt((float)n);
                //xxx: Папа рус, мама рус, почему же я индус?
    f1<<"2\n";  //yyy: И уже который год я пишу индусский код.          
        for(i=3;i<=sqrtLimit;i+=2)
            if(!sieveE[i]) 
                for(j=i*i;j<=n;j+=i<<1)
                    sieveE[j]=1;               
        for(i=3;i<=n;i+=2)
            if(!sieveE[i]) f1<<i<<"\n";//выводим в файл
        f1.close();//закрываем поток файла
        delete[] sieveE;//убираем за собой
 
    char be,a;
        cout<<"Начать вывод(Y)?"<<endl;
            cin>>be;
            if(be=='y'||be=='Y')//начало вывода на экран
            {
                    ifstream f1("out.txt");//открываем поток файла на чтение
                    if(!f1)
                        {
                            cout<<"Программа выполнила недопустимую операцию, и будет."<<endl;//обработка отсутствия файла
                        }
                    while(!f1.eof())//выводим до конца файла
                        {
                            f1.get(a);
                            cout<<a;
                        }
                    f1.close();//закрываем поток файла
            }
            else cout<<"Вывод отменён\n";
        cin.get();
}
Заменил вектор на динамеческий массив, т.к. в vc6 std работает медленно. В vc2010 с оптимизацией всё гораздо лучше, но всё равно std работает медленнее обычного c - 20секунд на вывод 100 000 000 через std:ofstream против 15 у обычного
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru