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

Перевернуть числа в цепочке. - C++

Восстановить пароль Регистрация
 
sanchopa
8 / 8 / 0
Регистрация: 21.04.2010
Сообщений: 104
26.12.2010, 14:39     Перевернуть числа в цепочке. #1
Дан текстовый файл: 12 13 16 25 35 99
На выходе должно получится: 99 35 25 16 13 12

Тоесть нужно взять текстовый файл и перевернуть его.

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
#define _CRT_SECURE_NO_DEPRECATE 
 
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
 
int main() {
 
        setlocale(LC_CTYPE, "Russian");
        
        printf("Введите имя файла: ");
        char s[200];
        scanf("%199s", s, 200);
 
        FILE *f1; 
        f1 = fopen( s, "rb" ); 
        if( f1 == NULL ) {
                printf( "Не могу открыть %s на чтение.\n", s );
                return -1;
        }
 
        FILE *f2;
        f2 = fopen( "newfile.txt", "wt" );
        if( f2 == NULL ) {
                printf( "Не могу открыть \"newfile.txt\" на запись.\n" );
                return -2;
        }
                float c;
                while(!feof(f1))
                {
                        fscanf(f1, "%f",&c);
                        fprintf(f2,"%g",c);
                }       
        _fcloseall();
        printf( "Готово. Смотри результат в \"newfile.txt\".\n" );
        _getch();
}
Здесь происходит обычное копирование из одного в др.

C++
1
2
3
4
5
6
int n;
    setlocale(LC_ALL, "Russian");
    printf("Введите N: ");
    scanf_s("%d", &n);
    int *a;
    a = new int[n];
это динамический массив, вот только нужно что бы n было = количеству чисел

C++
1
2
3
4
5
6
7
8
 int* left = a;
        int* right = &a[a - 1];
        while(left < right)
        {
                *left ^= *right;
                *right ^= *left;
                *(left++) ^= *(right--);
        }
а это код что бы перевернуть числа в массиве

Вот теперь это всё нужно объедение, и у меня не получается объединить это всё, какими способами только не пробовал. А вот ещё в массиве кол-во числе в документе можно наверное посчитать ftell()
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 14:39     Перевернуть числа в цепочке.
Посмотрите здесь:

Перевернуть число C++
Проектирование интерфейса: передача результата по цепочке C++
Задача по STL (В строке текста, все числа, встречающиеся перевернуть, оставив на месте) C++
Перевернуть чётные числа C++
Найти количество простых чисел в массиве. Перевернуть все нечетные строки матрицы. Перевернуть каждое четное слово в строке C++
C++ Перевернуть число
C++ Количество одинаковых чисел в цепочке
Сдвинуть элементы массива циклически на M влево, перевернуть нечетные строки и посчитать простые числа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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