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

Вывести на экран 1 000 000 чисел - C++

Восстановить пароль Регистрация
 
FroZko
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61
14.11.2010, 20:50     Вывести на экран 1 000 000 чисел #1
Вывести на экран попорядку 1 000 000 чисел с максимальной скоростью выполнения операции. (С++)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2010, 20:50     Вывести на экран 1 000 000 чисел
Посмотрите здесь:

C++ Целое значение близкое к 7 000 000 000
C++ Как получить битовую маску вида 100.000
Даны числа a1, a2, . , a8. Верно ли, что их произведение меньше 10 000 с++ C++
C++ Дан массив натуральных чисел А[m,n] и число а. Вывести этот массив на экран, вычислит количество элементов равных а и вывести их индексы
C++ Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GreyFox
2 / 2 / 0
Регистрация: 14.11.2010
Сообщений: 11
14.11.2010, 21:17     Вывести на экран 1 000 000 чисел #2
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream.h>
int main (void)
{
int i=0;
while (i != 1000000)
{
cout << i << "\n";
i++;
}
}
не проверял, но должно работать)
правда это будет очень долго.. хотя зависит от самой машины еще)
Tambel
32 / 32 / 2
Регистрация: 10.10.2010
Сообщений: 89
14.11.2010, 21:22     Вывести на экран 1 000 000 чисел #3
с циклом for мне кажется будет компактей)) у меня программа вычисляла минут 7)
C++
1
2
3
4
5
6
7
int _tmain(int argc, _TCHAR* argv[])
{
        int i;
        for (i=0;i<=1000000;i++) cout<<i<<endl;
        cin>>i;
        return 0;
}
FroZko
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61
14.11.2010, 21:30  [ТС]     Вывести на экран 1 000 000 чисел #4
спасибо большое всем. скажите, а в консоли, после подсчета результата может быть видно только 150 последних значений? все значения с 0 можно видеть?
Zyoma
10 / 10 / 3
Регистрация: 05.11.2010
Сообщений: 30
14.11.2010, 21:32     Вывести на экран 1 000 000 чисел #5
А так в 10 раз быстрее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    int i=0;
    for(i=0;i<1000001;i+=10)
    {
        cout<<i<<endl;
        cout<<i+1<<endl;
        cout<<i+2<<endl;
        cout<<i+3<<endl;
        cout<<i+4<<endl;
        cout<<i+5<<endl;
        cout<<i+6<<endl;
        cout<<i+7<<endl;
        cout<<i+8<<endl;
        cout<<i+9<<endl;
    }
    return 0;
}
almazsr
232 / 169 / 7
Регистрация: 13.11.2010
Сообщений: 425
14.11.2010, 21:40     Вывести на экран 1 000 000 чисел #6
У консоли есть настройка: объем буфера.

Добавлено через 6 минут
Цитата Сообщение от Zyoma Посмотреть сообщение
А так в 10 раз быстрее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    int i=0;
    for(i=0;i<10000001;i+=10)
    {
        cout<<i<<endl;
        cout<<i+1<<endl;
        cout<<i+2<<endl;
        cout<<i+3<<endl;
        cout<<i+4<<endl;
        cout<<i+5<<endl;
        cout<<i+6<<endl;
        cout<<i+7<<endl;
        cout<<i+8<<endl;
        cout<<i+9<<endl;
    }
    return 0;
}
Скорость печати ничем не отличается от пред. варианта. К тому же endlы здесь лишние. Из-за них медленнее. Лучше пробелами разделять.
Zyoma
10 / 10 / 3
Регистрация: 05.11.2010
Сообщений: 30
14.11.2010, 21:42     Вывести на экран 1 000 000 чисел #7
Не отличается? Выполняет за 165.966 сек, а не за 7 минут как сказано выше. У меня ошибка просто. У меня в условии 10000001 а надо 1000001
FroZko
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61
14.11.2010, 21:47  [ТС]     Вывести на экран 1 000 000 чисел #8
а можно как то посмотреть сколько выполняется программа?
Zyoma
10 / 10 / 3
Регистрация: 05.11.2010
Сообщений: 30
14.11.2010, 21:54     Вывести на экран 1 000 000 чисел #9
У меня CodeBlocks сам считает время выполнения. Кстати, almazsr прав. Время выполнения практически не отличается. Странно вообще-то.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
14.11.2010, 22:21     Вывести на экран 1 000 000 чисел #10
Zyoma, по вашему одна итерация цикла тяжелее операции вывода в поток? Вы ошибаетесь. Вывод в поток намного тяжелее итерации
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
14.11.2010, 22:32     Вывести на экран 1 000 000 чисел #11
Zyoma, а что странного-то? Операция вывода в поток нааааааамного медленнее, чем операция сложения. Поэтому что вы выполните 1000000 итераций, что в 10 раз меньше - вывод на экран всё равно не ускорит.

Добавлено через 35 секунд
Балин, снова я забыл про F5)))
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
14.11.2010, 22:37     Вывести на экран 1 000 000 чисел #12
С учетом наличия операции вывода в поток - да, преимущества нет.
А вот если бы ее не было, то развернутый цикл прошелся бы быстрее. Но такую оптимизацию и сам компилятор в состоянии сделать.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
14.11.2010, 23:02     Вывести на экран 1 000 000 чисел #13
Релизная конфигурация в Code::Blocks / MinGW.
C++
1
2
#include <stdio.h>
int main() {for(int i=1; i<1000001; ++i) printf("%d\n", i);}
35 секунд

C++
1
2
#include <iostream>
int main() {for(int i=1; i<1000001; ++i) std::cout << i << std::endl;}
63 секунды.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2010, 23:26     Вывести на экран 1 000 000 чисел
Еще ссылки по теме:

C++ Вывести список товаров, стоимость которых превышает 100 000 рублей
C++ Массив структур: вывести список товаров, стоимость которых превышает 100 000 рублей
C++ Как создать 1 000 000 потоков ?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Zyoma
10 / 10 / 3
Регистрация: 05.11.2010
Сообщений: 30
14.11.2010, 23:26     Вывести на экран 1 000 000 чисел #14
Да, лапухнулся. Не подумал что вывод в поток медленнее чем сложение.
Yandex
Объявления
14.11.2010, 23:26     Вывести на экран 1 000 000 чисел
Ответ Создать тему
Опции темы

Текущее время: 02:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru