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

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

Войти
Регистрация
Восстановить пароль
 
Alinochka
3 / 3 / 1
Регистрация: 06.12.2009
Сообщений: 46
#1

Получить слово, образованное первыми буквами каждой строки текстового файла - C++

09.12.2009, 13:39. Просмотров 577. Ответов 7
Метки нет (Все метки)

Имеется текстовый файл, в каждой строке которого первые два символа являются
буквами. Получить слово, образованное первыми буквами каждой строки;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2009, 13:39     Получить слово, образованное первыми буквами каждой строки текстового файла
Посмотрите здесь:
C++ Получить слово, образованное k-ыми символами каждой строки
Файлы. Получить слово, образованное k-ыми символами каждой строки C++
Дано слово а. Получить слово b, образованное нечётными буквами слова а. C++
Получить слово, образованное элементами файла C++
Получить слово, образованное элементами файла, имеющими четный порядковый номер C++
C++ Удалить в каждой строке текстового файла последнее слово
В конец каждой строки текстового файла дописать количество символов этой строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
09.12.2009, 15:15     Получить слово, образованное первыми буквами каждой строки текстового файла #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
29
30
31
32
33
34
35
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
#define FNAME "in.txt"    /* имя файла */
#define MAXLEN 4096
 
int main(void)
{
    char s[MAXLEN];
    char word[MAXLEN];
    FILE *fp;
    int i, nc;
 
    if( (fp = fopen(FNAME, "r")) == NULL) {
        perror("fopen");
        return 1;
    }
 
    i = 0;
    nc = 2;
    while(fgets(s, sizeof(s), fp) != NULL) {
        if(!isalpha(s[0]))
            continue;
        if(i >= MAXLEN - nc)    
            break;
        memcpy(word + i, s, nc);
        i += nc;
    }
    word[i + 1] = '\0';
    fclose(fp);
 
    printf("Слово: %s\n", word);
    return 0;
}
Alinochka
3 / 3 / 1
Регистрация: 06.12.2009
Сообщений: 46
09.12.2009, 17:20  [ТС]     Получить слово, образованное первыми буквами каждой строки текстового файла #3
Gravity, а если надо составить слово, образованное вторыми буквами каждой строки;
и нужна последовательность символов, образованную s-ми символами каждой строки.

Добавлено через 3 минуты
Gravity, программа составляет слово из всех букв которые есть в файле, а надо только из первых...
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
09.12.2009, 17:32     Получить слово, образованное первыми буквами каждой строки текстового файла #4
Цитата Сообщение от Alinochka Посмотреть сообщение
программа составляет слово из всех букв которые есть в файле, а надо только из первых...
Да вобще-то из первых двух букв каждой строки... Что у тебя в файле?
Цитата Сообщение от Alinochka Посмотреть сообщение
а если надо составить слово, образованное вторыми буквами каждой строки;
и нужна последовательность символов, образованную s-ми символами каждой строки.
Значит должен появиться кто-то добрый и переделать весь пример выше.
Alinochka
3 / 3 / 1
Регистрация: 06.12.2009
Сообщений: 46
09.12.2009, 17:35  [ТС]     Получить слово, образованное первыми буквами каждой строки текстового файла #5
Ясно) ну за это спасибо)))
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
09.12.2009, 17:39     Получить слово, образованное первыми буквами каждой строки текстового файла #6
Тебе надо просто изменить 'nc = 2' на 'nc = 1', тогда будет копироваться самая первая буква строки.
Alinochka
3 / 3 / 1
Регистрация: 06.12.2009
Сообщений: 46
09.12.2009, 19:21  [ТС]     Получить слово, образованное первыми буквами каждой строки текстового файла #7
а что бы образовать слово только из вторых букв, нельзя так же что нибудь заменить и все?)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2009, 19:32     Получить слово, образованное первыми буквами каждой строки текстового файла
Еще ссылки по теме:
C++ Скопировать содержимое текстового файла, удалив в каждой строке слово номер N+1, если в слове N есть 4
C++ Для каждой строки файла удалить короткое слово
Двузначное число, образованное первыми двумя цифрами числа, умноженное на 3-ю цифру.. C++
C++ Из текстового файла получить строки содержащие четырехбуквенные слова
C++ Для каждой строки файла переставить первое и среднее слово

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

Или воспользуйтесь поиском по форуму:
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
09.12.2009, 19:32     Получить слово, образованное первыми буквами каждой строки текстового файла #8
Ну так например
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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
#define FNAME "in.txt"    /* имя файла */
#define MAXLEN 4096
 
int main(void)
{
    char s[MAXLEN];
    char word[MAXLEN];
    FILE *fp;
    int i, nc, npos;
 
    if( (fp = fopen(FNAME, "r")) == NULL) {
        perror("fopen");
        return 1;
    }
 
    i = 0;
    nc = 1;   /* количество букв из строки для копирования */
    npos = 1; /* позиция буквы в строке, с которой копируем (отсчет с нуля) */
    while(fgets(s, sizeof(s), fp) != NULL) {
        if(!isalpha(s[1]))
            continue;
        if(i >= MAXLEN - nc)    
            break;
        memcpy(word + i, s + npos, nc);
        i += nc;
    }
    word[i + 1] = '\0';
    fclose(fp);
 
    printf("Слово: %s\n", word);
    return 0;
}
Yandex
Объявления
09.12.2009, 19:32     Получить слово, образованное первыми буквами каждой строки текстового файла
Ответ Создать тему
Опции темы

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