Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2008, 17:01   #1
lusuj
 
Аватар для lusuj
 
Регистрация: 11.11.2008
Сообщений: 9
По умолчанию текстовые файлы

помогите пожалуйста разобраться, нужно преобразовать строку , удалив из нее все четырехбуквенные слова, подпрограмму обработки строки оформить в виде функции, использовать 2 разных файла для ввода и вывода.
ввод вывод вроде изучил, не знаю как задать цыкл(или еще что-то) для поиска этого загадочного слова
зарание спасибо
lusuj вне форума Ответить с цитированием
Старый 19.11.2008, 17:05   #2
oracled
Новичок
Джуниор
 
Регистрация: 19.11.2008
Сообщений: 1
По умолчанию

используйте регулярные выражения
oracled вне форума Ответить с цитированием
Старый 20.11.2008, 19:15   #3
lusuj
 
Аватар для lusuj
 
Регистрация: 11.11.2008
Сообщений: 9
По умолчанию

что то склеил, помогите пожалуйста исправить
Код:
#include <iostream.h>
#include <fstream.h>
#include <string.h>

void DelWord(char str[100]);
int FoundPosition(char str[100]);
int CountWord(char str[100]);

void main()
{
ifstream fin("C:\\Documents and Settings\\Администратор\\1.txt",ios::in);
ofstream fout("C:\\Documents and Settings\\Администратор\\2.txt",ios::out);
char *str;
while(!fin.eof())
{
fin.getline(str,100);
DelWord(str);
fout<<str<<endl;
}
fin.close();
fout.close();
}

int FoundPosition(char str[100])
{
    int j;
    int flag=0;//указывает на то первая буква слова в предложении совпала с веденым словом
    int i0;
    for(int i=0;i<strlen(str);i++)
    {
            for(j=i;str[j]!=' ' && j<strlen(str);j++)
                flag++;
            if(flag==4)
                i0=i;
            i+=flag;
            flag=0;
    }
    
    return 0;
}

void DelWord(char str[100])
{
    int i,j;
    int position;//позиция с какого удалять слово
    int count=CountWord(str);
    for(i=0;i<count;i++)
    {
        position=FoundPosition(str);
        if(position!=-1)
        {
            for(j=position;str[j-1]!=0  || j==0;j++)
                str[j]=str[4+j];
        }
    }
    
}
int CountWord(char str[100])
{
    int i,j;
    int flag=0;
    int count=0;

    for(i=0;i<strlen(str);i++)
    {
            for(j=i;str[j]!=' ' && j<strlen(str);j++)
                flag++;
            if(flag==4)
                count++;
            i+=flag;
            flag=0;
    }
    return count;
}
lusuj вне форума Ответить с цитированием
Старый 20.11.2008, 19:18   #4
lusuj
 
Аватар для lusuj
 
Регистрация: 11.11.2008
Сообщений: 9
По умолчанию

ошибки:
'<' : signed/unsigned mismatch (4 штуки)
local variable 'str' used without having been initialized

спасибо
lusuj вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на текстовые файлы Paul11j Помощь студентам 20 17.03.2008 13:20
Текстовые файлы на С Raptor Общие вопросы C/C++ 15 26.01.2008 21:06
Текстовые файлы(задачка). Vadim2008 Общие вопросы C/C++ 1 11.01.2008 16:45