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

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

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


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++ Работа с файлами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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++
 Аватар для asics
2838 / 1775 / 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++
 Аватар для asics
2838 / 1775 / 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
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 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
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
02.05.2011, 23:45     работа с файлами #10
незнаю, у меня работает, и как это по-другому?
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 23:54  [ТС]     работа с файлами #11
а не скажите как она у вас работает?я запускаю программу и ничего не происходит!

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

Добавлено через 15 минут
и как это написать в программе?
Veyron
 Аватар для Veyron
104 / 104 / 4
Регистрация: 02.06.2009
Сообщений: 579
03.05.2011, 01:02     работа с файлами #14
Зачем вам программирование? fasked уже вам разжевал алгоритм. Что еще надо? Вы ленитесь не просто решить задачу, а тупо закодить ее по заданному решению. А что будет потом, если вам дадут более серьезное?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
03.05.2011, 23:07     работа с файлами #17
Цитата Сообщение от blak Посмотреть сообщение
это программа не создает ни одного текстового файла!
а что она делает по Вашему?
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.05.2011, 23:22  [ТС]     работа с файлами #18
ничего!я ее запускаю!и после запуска должно появится два текстовых файла но их нигде нет!
Veyron
 Аватар для Veyron
104 / 104 / 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++ Работа с файлами

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

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

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