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

Консольный вывод большого кол-ва чисел - C++

Восстановить пароль Регистрация
 
Zegy
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 5
22.06.2013, 16:32     Консольный вывод большого кол-ва чисел #1
У меня задание написать программу, которая вычисляла бы простые числа до миллиона и выводила в консоль. Программа работает, но я не могу вывести в консоль все числа. Пример: при диапазоне от 2 до 40 000 с пробелом после каждого числа выводятся все числа, но если я ставлю 42 000, то числа выводятся начиная с 1459. Если же я ставлю миллион, то вообще вылетает сообщение об ошибке. Как сделать так, чтобы в консоли выводились все числа? желательно с новой строки. Я пробовал на разных компьютерах и результат один и тот же. Использую dev-c++, пробовал ещё на borland.

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
#include <stdio.h>
#include <conio.h>
 
main()
{
unsigned long N=42000;
unsigned long A[42000];
unsigned long p, f=2;
 
for(p=f; p<N; p++){
      A[p]=true;
                  }
/*Решето Эратосфена*/
do{
for(p=(f*f); p<N; p+=f){
         A[p]=false;
                   }
                   
for(p=f+1; p<N; p++){
         if(A[p]==true){
            f=p;
            break;}
                  }
  }while((p*p)<N);
/*Вывод*/  
for(p=2; p<N; p++){
         if(A[p]==true){
            printf(" %i", p);}
                  }
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
22.06.2013, 16:37     Консольный вывод большого кол-ва чисел #2
а запись в файл исключен?
Zegy
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 5
22.06.2013, 16:39  [ТС]     Консольный вывод большого кол-ва чисел #3
Да, только в консоль.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
22.06.2013, 16:44     Консольный вывод большого кол-ва чисел #4
Какая может быть польза от выведенных 42 000 чисел в консоль?
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
22.06.2013, 16:50     Консольный вывод большого кол-ва чисел #5
они все выписываются) Просто в конслось все не влазят, и наиболее старые, заменяются теми, чо вывелись более поздно.Но на самом деле они все выводятся.Если хотите проверить, то поставьте задержку при выводе чисел
Zegy
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 5
22.06.2013, 17:02  [ТС]     Консольный вывод большого кол-ва чисел #6
@ZaMaZaN4iK, и это никак не исправить? А в чём проблема может быть при диапазоне до миллиона? я тестил, ставя чтобы выводило от 999990 до миллиона и всё равно вылетала ошибка.
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
22.06.2013, 17:23     Консольный вывод большого кол-ва чисел #7
@Zegy, сейчыас обьясню.Кол-во элементов в консоли никак не исправить.Смиритесь.

Что касается ошибки при 1000000, то тут немного сложнее.Вы создаете массив внутри функции.А при создании такого массива, он создается в стеке.Пр маленьком размере массива всё норм, но при большом - идет переполнение стека.Напишите перед обьявлением массива слово static, и всё будет норм.Ну ещё можно обьявить массив глобально, но я этого делать крайне не рекомендую(только если вы не спортивный программист)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2013, 17:37     Консольный вывод большого кол-ва чисел
Еще ссылки по теме:

Консольный ввод-вывод C++
C++ Консольный ввод/вывод - Перестали работать SetLocale
C++ Поменять консольный ввод-вывод на файловый ввод-вывод

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

Или воспользуйтесь поиском по форуму:
Zegy
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 5
22.06.2013, 17:37  [ТС]     Консольный вывод большого кол-ва чисел #8
@ZaMaZaN4iK, а, ясно. спасибо.
Yandex
Объявления
22.06.2013, 17:37     Консольный вывод большого кол-ва чисел
Ответ Создать тему
Опции темы

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