1 / 5 / 0
Регистрация: 16.10.2017
Сообщений: 170
1

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

17.01.2018, 11:00. Показов 1791. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2018, 11:00
Ответы с готовыми решениями:

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

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

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

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

2
Модератор
Эксперт С++
12779 / 10235 / 6150
Регистрация: 18.12.2011
Сообщений: 27,404
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
1 / 5 / 0
Регистрация: 16.10.2017
Сообщений: 170
17.01.2018, 11:32  [ТС] 3
спасибо большое
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2018, 11:32
Помогаю со студенческими работами здесь

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

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

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru