Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
lukinyx99
1 / 5 / 0
Регистрация: 16.10.2017
Сообщений: 170
1

Файл: Создать новый файл, содержащий числа исходного файла в обратном порядке.

17.01.2018, 11:00. Просмотров 111. Ответов 2
Метки нет (Все метки)

пожалуйста, помогите
задача: дан файл целых чисел, создать новый файл содержащий те же файлы, но в обратном порядке.
вот код, он всегда выводит только последний элемент, почему?:

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
#include <iostream>
#include<fstream>
using namespace std;
 
void main()
{
 
    ofstream f;
    ifstream f1;
    string out;
    string in;
    int a[100];
    int n = 0;
    cin>> in;
    cin >> out;
    f1.open(in.c_str(), ios::binary);
    f.open(out.c_str(), ios::binary);
    while (f1.peek() != EOF) {
        f1.read((char*)&a, sizeof(int));
        n++;
    }
    
    for (int i = n - 1; i >= 0; i--) {
        f.write((char*)&a, sizeof(int));
        f.write((char*)&a, sizeof(int));
    }
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2018, 11:00
Ответы с готовыми решениями:

Создать новый файл, содержащий элементы исходного файла в обратном порядке
Дан файл целых чисел. Создать новый файл, содержащий те же элемен-ты, что и...

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке
Пожалуйста, помогите решить задачу в C++!!! Дан файл целых чисел. Создать...

Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке).
Даны имена двух файлов вещественных чисел. Известно, что первый из них...

Дано число k (< 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного файла
Дано число k (&lt; 10) и текстовый файл, содержащий более k строк. Создать новый...

Создать новый файл, содержащий квадраты всех элементов исходного файла
Дан текстовый файл вещественных чисел. Создать новый файл, содержащий квадраты...

2
zss
Модератор
Эксперт С++
7383 / 6781 / 4292
Регистрация: 18.12.2011
Сообщений: 17,916
Завершенные тесты: 1
17.01.2018, 11:25 2
Цитата Сообщение от lukinyx99 Посмотреть сообщение
почему?
ВЫ читаете все время в одно и то же место (в переменную a[0]).
Поэтому по выходе из цикла в a[0] хранится последнее прочитанное значение.
Далее Вы n раз это значение выводите в файл.

Можно так
C++
1
2
3
4
5
6
7
8
while ( f1.read((char*)&a[n], sizeof(int) ) && n<100 )
        n++;
    }
    
    for (int i = n - 1; i >= 0; i--) {
        f.write((char*)&a[i], sizeof(int));
        //f.write((char*)&a, sizeof(int));
    }
0
lukinyx99
1 / 5 / 0
Регистрация: 16.10.2017
Сообщений: 170
17.01.2018, 11:32  [ТС] 3
спасибо большое
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2018, 11:32

Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла.
Задачу нужно решить в Borland C++ 3.11 Дан файл целых чисел. Создать новый файл...

Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла
Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех...

Создать файл целых чисел, содержащий номера всех локальных максимумов исходного файла в порядке возрастания
1.Создать файл целых чисел содержащий номера всех локальных максимума исходного...


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

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

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