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

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

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

работа с файлами - C++

29.05.2014, 22:07. Просмотров 164. Ответов 0
Метки нет (Все метки)

закоментите прогу поподробнее, пожалуйста)

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
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cmath>
using namespace std; 
 
bool Prime(int const num)// проверка числа на простоту
{
    for(int i = 2; i <= static_cast<int>(sqrt(num)); ++i)
    {
        if(num % i == 0)
            return false;
    }
    return 1 != num;
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    ifstream ifs("1.txt", ios::binary);// открытие бинарного файла на чтение
    if(ifs.is_open())//проверка открыт ли файл
    {
        ifs.seekg(0, ios::end);// ставим геттер в конец файла
        int len = ifs.tellg();// узнаём длину файла в байтах
        ifs.seekg(ios::beg);// ставим геттер обратно в начало файла
        int* pos = new int[len / sizeof(int)], *neg = new int[len / sizeof(int)];// выделение памяти под динамические массивы положительных и отрицательных простых чисел
        int tmp, czero, i, ipos, ineg;
        for(i = 0, ipos = 0, ineg = 0, czero = 0; i < len / sizeof(int); ++i)// в цикле считываем числа с файла
        {
            ifs.read(reinterpret_cast<char*>(&tmp), sizeof(tmp));// считываем очередное число в tmp
            if(!tmp)
                ++czero;// если число нуль то увеличиваем счётчик
            else if(Prime(abs(tmp))) //модуль числа
            {
                (tmp > 0 ? pos[ipos++] : neg[ineg++]) = tmp;// если число простое то записываем его в соответствующий массив
            }
        }
        ofstream ofs("2.txt");// открытие текстового файла на запись
        if(ofs.is_open())
        {
            // ввод данных в файл
            ofs << "Массив положительных простых чисел: ";
            for(i = 0; i < ipos; ++i)
                ofs << pos[i] << ' ';
            ofs << "\n\nМассив отрицательных простых чисел: ";
            for(i = 0; i < ineg; ++i)
                ofs << neg[i] << ' ';
            ofs << "\n\nКоличество нулевых элементов: " << czero << '\n';
            
            ofs.close();// закрытие файла
        }
        else
            cerr << "Невозможно открыть выходной файл\n";
        // освобождение памяти из-под массивов
        delete[] pos;
        pos = 0;
        delete[] neg;
        neg = 0;
 
        ifs.close();
    }
    else
        cerr << "Невозможно открыть выходной файл\n";
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос работа с файлами (C++):

Работа с файлами - C++
Здравствуйте, делаю задачку &quot;Выборочная сортировка&quot;, но застрял на работе с файлами, понять не могу никак... нужно считать числа из...

Работа с файлами C++ - C++
Доброго времени суток. Написал программу с выводом в файл, но она выводит совсем левое число, скажите где тут косяк? Сильно не материте я в...

Работа с файлами на С++ - C++
Как сохранить результат вычислений на текстовом файле? Я пробовал открыт текстовый файл в начале программы и и в конце закриваль но не...

Работа с файлами - C++
Доброе утро! Помогите с задачкой В одном файле хранятся сведения об учениках : ФИО , класс, во 2 файле сведения о результатах сдачи...

Работа с файлами - C++
К сожалению, не имею возможности обучаться методом проб и ошибок, потому оперирую теорией. FILE * bsp; bsp = fopen(bsp_c,&quot;rb&quot;); ...

Работа с файлами - C++
Друзья, помогите, нужно исправить код так, чтобы программа находила определённую последовательность символов в файле, в котором текст...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2014, 22:07
Привет! Вот еще темы с ответами:

Работа с файлами (С) - C++
Подскажите как работать с файлами в С. Чтение файла, запись в файл, вывод содержимого файла на экран. Желательно на примерах). Зарание...

работа с файлами - C++
Помагите пожалуйсто доделать прогу. В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны: -номер...

Работа с файлами - C++
Ребят, помогите плиз написаь программку, которой параметром передается имя текстового файла, а она выводит этот файл на экран...

Работа с файлами - C++
Доброго времени суток. Нужна ваша помощь в общем есть у нас файл который создан в putti, перед этим файлом написано -r-w-x-- (r-чтение,...


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

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

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