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

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

Войти
Регистрация
Восстановить пароль
 
Shenan
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 26
#1

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

10.01.2014, 03:57. Просмотров 379. Ответов 2
Метки нет (Все метки)

Доброй ночи. Будте добры, помогите сделать задачу с файлами. Теоретически понимаю что нужно делать, а программно реализовать не могу(
вот задание:
Имеются два текстовых файла. В первом файле находится текстовая информация, во втором – числа. Вывести на экран символы первого файла с позиций, указываемых числами из второго файла.

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

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

Сформировать два текстовых файла из целых чисел. Записать в третий файл минимальный элемент первого файла и максимальный элемент второго файла - C++
Тема: работа с текстовыми файлами с использованием стандартных функций библиотеки stdio.h Нужно составить программу: Сформировать два...

Добавить в конец первого файла содержимое второго файла - C++
Text6. Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла. Помогите пожалуйста с решением, а желательно с...

Записать в третий файл только те пары чисел, в которых число из первого файла меньше соответствующего числа из второго файла. - 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2014, 22:11
Привет! Вот еще темы с ответами:

Нужна из текстового файла с целыми числами найти минимальное и вывести его на экран - C++
Нужно из текстового файла с целыми числами найти минимальное и вывести его на экран

Добавить в конец первого текстового файла содержимое второго текстового файла - C++
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.

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

Записать в третий файл через один содержимое первого файла и второго - C++
Даны 2 файла содержащие числа , записать в 3 файл через один содержимое первого файла и второго файла и сумму первого и второго


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

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

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