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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
#1

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

01.05.2011, 22:07. Просмотров 1485. Ответов 28
Метки нет (Все метки)

помогите пожалуйста!


2. Дан файл f, компоненты которого являются целыми числами. Никакой из компонентов файла не равен нулю. Используя вспомогательный файл h, переписать компоненты файла f в файл g так чтобы в файле g чтобы сначала шли положительные, потом отрицательные числа;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2011, 22:07     работа с файлами
Посмотрите здесь:

работа с файлами C++
Работа с файлами C++
C++ РАБОТА С ФАЙЛАМИ
C++ Работа с файлами!
C++ Работа с файлами
C++ Работа с файлами C++.
работа с файлами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
01.05.2011, 22:09     работа с файлами #2
blak, Можно взять массив и записать туда) Можно вывернуться и по-другому.
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
01.05.2011, 22:31  [ТС]     работа с файлами #3
как это реализовать в программе?
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
01.05.2011, 22:38     работа с файлами #4
blak, Не знаете как числа з файла записать в масив, или как ?
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 14:22  [ТС]     работа с файлами #5
да незнаю как числа записать из файла в массив!

Добавлено через 3 часа 54 минуты
????????
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
02.05.2011, 14:32     работа с файлами #6
Цитата Сообщение от blak Посмотреть сообщение
да незнаю как числа записать из файла в массив!
C++
1
2
3
std::ifstream ifs("input.txt");
//Проверка на открытие
std::vector<int> arr( (std::istream_iterator<int>(ifs)), std::istream_iterator<int>());
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 22:53  [ТС]     работа с файлами #7
спасибо!но все равно я не смог написать программу !помогите пож-та!кто-нибудь
igorrr37
1634 / 1262 / 128
Регистрация: 21.12.2010
Сообщений: 1,924
Записей в блоге: 7
02.05.2011, 23:10     работа с файлами #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<set>
#include<fstream>
#include<iterator>
#include<algorithm>
#include<functional>
 
int main(){
    std::fstream fs("1.txt");
    if(!fs){std::cerr<<"File not found\n"; return 1;}
    std::multiset<int, std::greater<int> > setInt((std::istream_iterator<int>(fs)), std::istream_iterator<int>());
    fs.close();
    fs.open("2.txt", std::ios::out);
    std::copy(setInt.begin(), setInt.end(), std::ostream_iterator<int>(fs, "\n"));
    fs.close();
    return 0;
}
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 23:42  [ТС]     работа с файлами #9
она не работает!по другому из текстового файла в текстовы невозможно?
igorrr37
1634 / 1262 / 128
Регистрация: 21.12.2010
Сообщений: 1,924
Записей в блоге: 7
02.05.2011, 23:45     работа с файлами #10
незнаю, у меня работает, и как это по-другому?
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 23:54  [ТС]     работа с файлами #11
а не скажите как она у вас работает?я запускаю программу и ничего не происходит!

Добавлено через 5 минут
?????
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
02.05.2011, 23:56     работа с файлами #12
Цитата Сообщение от ForEveR Посмотреть сообщение
Можно вывернуться и по-другому
Видимо здесь требуется сохранение порядка, а использование дополнительного файла для хранения данных подразумевает, что все отрицательные числа надо сначала сбросить туда, положительные в итоговый файл, потом дописать содержимое дополнительного в итоговый.
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.05.2011, 00:14  [ТС]     работа с файлами #13
и как это написат в программе?

Добавлено через 15 минут
и как это написать в программе?
Veyron
106 / 106 / 4
Регистрация: 02.06.2009
Сообщений: 579
03.05.2011, 01:02     работа с файлами #14
Зачем вам программирование? fasked уже вам разжевал алгоритм. Что еще надо? Вы ленитесь не просто решить задачу, а тупо закодить ее по заданному решению. А что будет потом, если вам дадут более серьезное?
easybudda
Эксперт С++
9441 / 5464 / 926
Регистрация: 25.07.2009
Сообщений: 10,485
03.05.2011, 01:52     работа с файлами #15
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
#include <stdio.h>
#include <stdlib.h>
    
#define IN_FILE_NAME "f.txt"
#define OUT_FILE_NAME "g.txt"
 
int main(void){
    FILE * fin, * fout, * ftmp;
    int i;
    
    if ( ( fin = fopen(IN_FILE_NAME, "r") ) == NULL ){
        fprintf(stderr, "Can't open file %s for input!\n", IN_FILE_NAME);
        exit(1);
    }
    
    if ( ( fout = fopen(OUT_FILE_NAME, "w") ) == NULL ){
        fprintf(stderr, "Can't open file %s for output!\n", OUT_FILE_NAME);
        exit(1);
    }
    
    if ( ( ftmp = tmpfile() ) == NULL ){
        fprintf(stderr, "Can't create tmp file!\n");
        exit(1);
    }
    
    while ( fscanf(fin, "%d", &i) == 1 ){
        if ( i < 0 ){
            if ( fprintf(ftmp, "%d ", i) < 0 ){
                fprintf(stderr, "Can't write to tmp file!\n");
                exit(1);
            }
        }
        else if ( i > 0 ){
            if ( fprintf(fout, "%d ", i) < 0 ){
                fprintf(stderr, "Can't write to output file!\n");
                exit(1);
            }
        }
        else
            fprintf(stderr, "Invalid zero value in input file!\n");
    }
    if ( ferror(fin) ){
        fprintf(stderr, "Error while reading input file!\n");
        exit(1);
    }
    
    fclose(fin);
    rewind(ftmp);
    
    while ( fscanf(ftmp, "%d", &i) == 1 ){
        if ( fprintf(fout, "%d ", i) < 0 ){
            fprintf(stderr, "Can't write to output file!\n");
            exit(1);
        }
    }
    if ( ferror(ftmp) ){
        fprintf(stderr, "Can't read from tmp file!\n");
        exit(1);
    }
    
    fclose(ftmp);
    fclose(fout);
    fprintf(stderr, "Done.\n");
    exit(0);
}
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.05.2011, 22:57  [ТС]     работа с файлами #16
спасибо!только один вопрос где эти тектовые файлы?

Добавлено через 2 часа 36 минут
это программа не создает ни одного текстового файла!
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
03.05.2011, 23:07     работа с файлами #17
Цитата Сообщение от blak Посмотреть сообщение
это программа не создает ни одного текстового файла!
а что она делает по Вашему?
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.05.2011, 23:22  [ТС]     работа с файлами #18
ничего!я ее запускаю!и после запуска должно появится два текстовых файла но их нигде нет!
Veyron
106 / 106 / 4
Регистрация: 02.06.2009
Сообщений: 579
03.05.2011, 23:23     работа с файлами #19
Цитата Сообщение от blak Посмотреть сообщение
где эти тектовые файлы?
В рабочей папке программы, там же пути относительные. Она может не совпадать с той, откуда вы запустили ее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 23:24     работа с файлами
Еще ссылки по теме:

Работа с файлами C++
C++ Работа с файлами
Работа с файлами C++
Работа с файлами C++
C++ Работа с файлами в C++

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

Или воспользуйтесь поиском по форуму:
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
03.05.2011, 23:24     работа с файлами #20
blak, ну может это потому, что один файл уже должен быть создан заранее? то который с именем f.txt
Yandex
Объявления
03.05.2011, 23:24     работа с файлами
Ответ Создать тему
Опции темы

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