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

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

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

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

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

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


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

Работа с файлами в C/C++ - C++
Всем добрый вечер. Ваш форум часто помогал мне, я находил ответы на многие свои вопросы. На сей раз я затупил конкретно. Задание -...

Работа с файлами в C++ - C++
Пишу программу, где предполагается работа с файлами, но при попытке объявления входного потока (istream filein), я получаю ошибку...

Работа с файлами - C++
1.Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл F, содержащий...

Работа с файлами - C++
Задание было такое: Создать телефонный справочник для осуществления следующих операций: Добавление абонентов в базу. Удаление...

Работа с файлами - C++
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл F, содержащий...

Работа с файлами - C++
Помогите пожалуйста, что не правильно,,,не выводит результат в файл #include<iostream.h>; #include<fstream.h>; #include<iomanip>; ...

28
ForEveR
В астрале
Эксперт С++
7992 / 4751 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
01.05.2011, 22:09 #2
blak, Можно взять массив и записать туда) Можно вывернуться и по-другому.
0
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
01.05.2011, 22:31  [ТС] #3
как это реализовать в программе?
0
asics
Freelance
Эксперт С++
2854 / 1789 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
01.05.2011, 22:38 #4
blak, Не знаете как числа з файла записать в масив, или как ?
0
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 14:22  [ТС] #5
да незнаю как числа записать из файла в массив!

Добавлено через 3 часа 54 минуты
????????
0
asics
Freelance
Эксперт С++
2854 / 1789 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
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>());
2
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 22:53  [ТС] #7
спасибо!но все равно я не смог написать программу !помогите пож-та!кто-нибудь
0
igorrr37
1836 / 1454 / 224
Регистрация: 21.12.2010
Сообщений: 2,403
Записей в блоге: 11
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;
}
1
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 23:42  [ТС] #9
она не работает!по другому из текстового файла в текстовы невозможно?
0
igorrr37
1836 / 1454 / 224
Регистрация: 21.12.2010
Сообщений: 2,403
Записей в блоге: 11
02.05.2011, 23:45 #10
незнаю, у меня работает, и как это по-другому?
1
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
02.05.2011, 23:54  [ТС] #11
а не скажите как она у вас работает?я запускаю программу и ничего не происходит!

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

Добавлено через 15 минут
и как это написать в программе?
0
Veyron
106 / 106 / 4
Регистрация: 02.06.2009
Сообщений: 578
03.05.2011, 01:02 #14
Зачем вам программирование? fasked уже вам разжевал алгоритм. Что еще надо? Вы ленитесь не просто решить задачу, а тупо закодить ее по заданному решению. А что будет потом, если вам дадут более серьезное?
0
easybudda
Модератор
Эксперт CЭксперт С++
9967 / 5890 / 996
Регистрация: 25.07.2009
Сообщений: 11,153
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);
}
1
03.05.2011, 01:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 01:52
Привет! Вот еще темы с ответами:

Работа с файлами - C++
Привести пример создания, просмотра и дополнения числового файла на языке С++

Работа с файлами - C++
Доброе время суток. Работа с файлами 1. Вывести на экран текст программы. 2. Вывести на экран текст программы, но...

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

работа с файлами - C++
лет 5 назад изучал с++ консольный еще в технаре. Щас php считаю более востребован да и проще. Для интереса подскажите какои оператор...


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

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

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