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

Вывести на экран символы первого файла с позиций, указываемых числами из второго файла - C++

Восстановить пароль Регистрация
 
Shenan
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 26
10.01.2014, 03:57     Вывести на экран символы первого файла с позиций, указываемых числами из второго файла #1
Доброй ночи. Будте добры, помогите сделать задачу с файлами. Теоретически понимаю что нужно делать, а программно реализовать не могу(
вот задание:
Имеются два текстовых файла. В первом файле находится текстовая информация, во втором – числа. Вывести на экран символы первого файла с позиций, указываемых числами из второго файла.

не могу понять как считать поэлементно числа из второго файла и сравнить с позициями символов первого файла. может кто поможет.

заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 03:57     Вывести на экран символы первого файла с позиций, указываемых числами из второго файла
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
__General__
24 / 24 / 3
Регистрация: 04.01.2014
Сообщений: 91
Завершенные тесты: 2
10.01.2014, 04:15     Вывести на экран символы первого файла с позиций, указываемых числами из второго файла #2
А что тут сложного? первый файл считываем в строку-массив char Str[] с помощью функции getline.
Ну а дальше идем по второму файлу, смотрим числа-позиции, и выводим на экран соответствующие элементы нашего массива Str.
nicron
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 5
24.04.2014, 22:11     Вывести на экран символы первого файла с позиций, указываемых числами из второго файла #3
Столкнулся с такой же проблемой.
Мой вариант реализации отличается от предложенного __General__ и пока работает не весьма корректно:
Идем по второму файлу, читаем числа, устанавливаем курсор на позицию в первом файле, читаем символ из первого файла в массив, массив выводим на экран.
Однако, в конце массива добавляются 2-3 случайных символа и могут быть несколько первых чисел из второго файла.
Помогите, пожалуйста найти ошибку.
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    FILE *nf, *tf;
    char s[80], n[80], ch={' '};
    int i,pos=0,ne,num[80];
    /*clrscr();*/
    nf=fopen("n.txt", "wt");
    tf=fopen("t.txt", "wt");
    puts("Enter the string: ");
    gets(s);
    puts("Enter the numeric string: ");
    puts("number of entries:");
    scanf("%d",&ne);
    for(i=0;i<ne;i++)
    {
        scanf("%d",&num[i]);
        fprintf(nf, "%d", num[i]);
        if(i<ne-1)
        fprintf(nf, "%c", ch);
    }
    fprintf(tf, "%s", s);
    /*fcloseall();*/
    fclose(tf);fclose(nf);
    if ((nf = fopen ("n.txt", "r")) == NULL)
    {
        printf("Error opening file n.txt");
        exit(1);
    }
    if ((tf = fopen("t.txt", "r")) == NULL)
    {
        printf("Error opening file t.txt");
        exit(1);
    }
    while(!feof(nf))
    {
        fscanf(nf, "%d", &i);
        fseek(tf,i-1,SEEK_SET);
        ch=fgetc(tf);
        n[pos]=ch;
        pos++;
    }
    printf("Result: %s\n",n);
    fclose(nf);fclose(tf);
    system("pause");
    return 0;
}
Yandex
Объявления
24.04.2014, 22:11     Вывести на экран символы первого файла с позиций, указываемых числами из второго файла
Ответ Создать тему
Опции темы

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