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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
natalyma
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 7
#1

Вывести простые числа в текстовый файл - C++

23.11.2012, 18:55. Просмотров 288. Ответов 6
Метки нет (Все метки)

Проблема заключается в том что он у меня выводит непонятные символы в Txt Что мне с этим сделать ?
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
#include <stdio.h>
#include <iostream>
#include "math.h"
 
 
using namespace std;
 
int main()
{
    FILE *p;
    p=fopen("p.txt","wt");
    for (int i=1;i<10000;i=i+2)
    {
        if (i<9)
        {
          putc(i,p);
        }else { 
         for (int j=3;j<sqrt(i);j=j+2){
         if (i%j ==0 ) break; 
         putc(i,p);
         }
     }
    }
 
    fclose(p);
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 18:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести простые числа в текстовый файл (C++):

Найти простые числа в заданном диапазоне с помощью решета Эратосфена и вывести их в файл - C++
Для зачета задали написать программу для нахождения простых чисел от 1 до 1000000000 и вывод их в файл,чтобы программа делала все это...

Дан текстовый файл, содержащий целые числа. Определить в каждой четной строке максимальное число и записать результаты в новый текстовый файл - C++
Дан текстовый файл, содержащий целые числа. Определить в каждой четной строке максимальное число и записать результаты в новый текстовый...

Дано натуральное число. Вывести на экран все простые числа до заданного числа. - C++
Дано натуральное число. Вывести на экран все простые числа до заданного числа.

Одномерный массив. Вывести на экран все числа, индексы которых есть простые числа. - C++
Нужно вывести на экран все числа заданной последовательности, индексы которых есть простые числа. Определить в заданной последовательности...

Вывести все простые числа до заданного числа - C++
Нужно вывести все простые числа до заданного числа N. С помощью процедуры и без массивов.

Задача про простые числа. Выпишите все простые числа, находящиеся в интервале между а и б - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using std::cout; using std::cin; using...

6
Байт
Нарушитель
Эксперт C
16674 / 10935 / 1676
Регистрация: 24.12.2010
Сообщений: 21,315
23.11.2012, 19:40 #2
putc выводит именно символ (соответствующий числу i. Так, если i=101, выведется символ 'e'
Чтоб вывести число надо printf("%d\n", i);
0
natalyma
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 7
23.11.2012, 19:44  [ТС] #3
Теперь другая проблема =( он числа почему то повторяет некоторые, не подскажите почему ?
91
95
97
97
97
97
101
101
101
101
103
103
103
103
107
107
107
107
0
Байт
Нарушитель
Эксперт C
16674 / 10935 / 1676
Регистрация: 24.12.2010
Сообщений: 21,315
23.11.2012, 19:51 #4
Странно, что повторяет так мало чисел.
Попробуй ручками прокрутить внутренний цикл для i = 101
0
natalyma
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 7
23.11.2012, 19:57  [ТС] #5
Цитата Сообщение от Байт Посмотреть сообщение
Странно, что повторяет так мало чисел.
Попробуй ручками прокрутить внутренний цикл для i = 101
проверяет он та все числа, но те которые оканчиваются на 3 7 9 повторяются под конец несколько раз =\
а прокрутить внешний цикл нельзя =\ мне надо уложится в задание
вывести все простые числа в фаил от 1-до миллиарда за 5 минут ррп
0
Байт
Нарушитель
Эксперт C
16674 / 10935 / 1676
Регистрация: 24.12.2010
Сообщений: 21,315
23.11.2012, 20:40 #6
natalyma, да у тебя алгоритм неверный. Во внутреннем цикле - ошибка. Вот ее и ищи!
0
natalyma
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 7
25.11.2012, 17:29  [ТС] #7
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
#include <stdio.h>
#include <iostream>
#include <math.h>
 
 
using namespace std;
 
int main()
{
    FILE *p;
    bool yes;
    p=fopen("p.txt","wt");
    for (int i=1;i<10000000;i=i+2)
    {
        if (i<9)
        {
         fprintf(p,"%i\n",i);
         continue;
        }
         
        yes=true;
        for (int j=3;j<=sqrt(i);j=j+2)
        {
           if (i%j == 0 )
           {
            yes=false;
            break;
           }
        } 
         if (yes==true) fprintf(p,"%i ",i); 
    }
 
    fclose(p);
    return 0;
}
Этот код почемуто работает =\
0
25.11.2012, 17:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2012, 17:29
Привет! Вот еще темы с ответами:

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа - C++
Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа. Простые числа это когда они делятся только...

Вывести простые числа от M до N - C++
здравствуйте. хочу понять есть ли у меня ошибки в файле 1.cpp. Условие задачи: вывести все простые числа от M до N включительно. в...

Вывести простые числа - C++
Помогите разобраться с циклами, напиши как делать первое задание:3 Заранее благодарю:)

дан входной текстовый файл. Вывести в выходной файл строку с максимальным количеством слов - C++
Дан входной текстовый файл (одна строка – одно предложение). Вывести в выходной файл строку (строки) с максимальным количеством слов.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.