Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
#1

Перепишите в новый файл все строки, начинающиеся с заданного слова - C++

01.12.2010, 09:08. Просмотров 597. Ответов 2
Метки нет (Все метки)

Помогите,пожалуйста,с задачами:
1. Перепишите в новый файл все строки, начинающиеся с заданного слова.
2. Создайте два выходных файла: в один перепишите из каждой строки первые k слов, в другой - оставшиеся. Если в строке меньше, чем k слов, то во втором файле соответствующая строка должна быть пустой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2010, 09:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перепишите в новый файл все строки, начинающиеся с заданного слова (C++):

Все слова, начинающиеся с гласных переписать в один файл, а с согласных – в другой новый файл - C++
11. Все слова, начинающиеся с гласных переписать в один файл, а с согласных – в другой новый файл.

Исключить все слова предложения, начинающиеся с заданного префикса - C++
Дано предложение. Исключить все слова, начинающиеся с префикса «наи».

Обработка строк. Найти все слова, начинающиеся с заданного символа. - C++
Добрый день! Я к вам снова с вопросом... Задача: Заданная строка состоит из слов, разделенных одним или несколькими пробелами. Найти...

1. Скопировать из файла F1 в файл F2 строки, которые не содержат слова, начинающиеся на одну букву 2. Определить номер слова в котором больше всего г - C++
1. Скопировать из файла F1 в файл F2 строки, которые не содержат слова, начинающиеся на одну букву 2. Определить номер слова в котором...

Записать в новый файл сначала предложения, начинающиеся с тире, а затем все остальные - C++
Нужно написать программу, которая считывает текст из файла и записывает в новый файл сначала предложения, начинающиеся с тире, а затем все...

Вывести все слова из строки, начинающиеся с определенной буквы - C++
Написать программу,которая выводит все слова из строки,начинающиеся с определенной буквы

2
easybudda
Модератор
Эксперт CЭксперт С++
9715 / 5666 / 971
Регистрация: 25.07.2009
Сообщений: 10,910
01.12.2010, 10:20 #2
1.
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
52
53
54
55
56
57
58
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
 
int starts_from_word(const char * s, const char * w){
    int len;
    return ( strstr(s, w) == s && ( ispunct(*(s + (len = strlen(w)))) || isspace(*(s + len)) ) );
}
 
#define INPUT_NAME "in.txt"
#define OUTPUT_NAME "out.txt"
 
int main(void){
    FILE * fin, * fout;
    char buf[BUFSIZ], wrd[BUFSIZ];
    
    printf("First word: ");
    if ( scanf("%s", wrd) != 1 ){
        fprintf(stderr, "Wrong input!\n");
        exit(1);
    }
    
    if ( ( fin = fopen(INPUT_NAME, "r") ) == NULL ){
        fprintf(stderr, "Can't open input file!\n");
        exit(1);
    }
    if ( ( fout = fopen(OUTPUT_NAME, "w") ) == NULL ){
        fprintf(stderr, "Can't open output file!\n");
        fclose(fin);
        exit(1);
    }
    
    while ( fgets(buf, BUFSIZ, fin) ){
        if ( starts_from_word(buf, wrd) ){
            if ( fputs(buf, fout) == EOF ){
                fprintf(stderr, "Can't write to output file!\n");
                if ( fclose(fin) )
                    perror("fclose");
                if ( fclose(fout) )
                    perror("fclose");
                exit(1);
            }
        }
    }
    if ( ferror(fin) ){
        fprintf(stderr, "Can't read from input file!\n");
        if ( fclose(fin) )
            perror("fclose");
        if ( fclose(fout) )
            perror("fclose");
        exit(1);
    }
    
    printf("Done.\n");
    
    exit( fclose(fin) | fclose(fout) );
}
1
ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
02.12.2010, 21:14  [ТС] #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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
 
using namespace std;
int main()
{   FILE *ex1,*ex2,*ex3;
    ex1=fopen("C://ex1.txt","r");
    ex2=fopen("C://ex2.txt","w");
    ex3=fopen("C://ex3.txt","w");
    int t=0,i;
    char s[256];
    cout<<"vvedite kol-vo slov ";
    cin>>t;
    if ((ex1=fopen("C://ex1.txt","r"))==0)
      cout<<"error";
    else
    {
    while (!feof(ex1))
    {unsigned int i;
     int n=0;
        fgets(s, 100, ex1);
        if (s[0]!=' ') n=1;
        for(i=0; i<=strlen(s); i++)
        {   if((s[i] == ' ')&&(s[i+1]!= ' ')) n++;
            if((s[i]!= ' ')&&(s[i+1] == ' ')) n++;
            if(n<=t)
            {  fputc(s[i], ex2);
            }
            else
                fputc(s[i], ex3);
        }
        if(n<= t)
          fputc('\n', ex2); 
          else
          fputc('\n', ex3);
    }}
    fclose(ex1);
    fclose(ex2);
    fclose(ex3);
    getch();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2010, 21:14
Привет! Вот еще темы с ответами:

Удалить из строки все слова, начинающиеся на гласную букву - C++
Здравствуйте, помогите написать программу. за скудностью своих знаний уже часов 5 сижу. вот с чего я начинал: #include&lt;iostream&gt; ...

Вывести все слова, начинающиеся с большой буквы, из заданной строки - C++
С клавиатуры вводится строка S. Она содержит различные символы и пробелы. Части строки, разделенные пробелами, называются словами. ...

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

Вывести в выходной файл все слова, начинающиеся на заданную букву, и их количество - C++
Вводим название 2х файлов, затем букву, программа должна найти и вывести в выходной файл все слова, начинающиеся на заданную букву и их...


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

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

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