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

Символьные строки. Работа с файлами. - C++

Восстановить пароль Регистрация
 
shout27
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 47
09.01.2012, 23:50     Символьные строки. Работа с файлами. #1
Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +,-,*.
Найти число таких групп букв, которые начинаются и заканчиваются одним и тем же символом.
(Текст взять из файла). Ума хватило, только что бы сделать чтение из файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
10.01.2012, 00:49     Символьные строки. Работа с файлами. #2
Ну ищите два пробела (перед словом и после) и сверяете равен ли символ идущий после первого пробела символу идущему перед последним пробелом.

Добавлено через 15 минут
Вот набросок, хотя код получился не очень то хорошим, явно есть что улучшить, может это вам удастся. Ну считывать данные вы вроде умеете так что привожу пример просто с string.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main ()
{
    string str="ababa galamaga ada";
    if(str.length()<=1)
     exit(1);
    size_t first;
    size_t last;
    first=str.find_first_not_of(" ");
    last=str.find(" ");
    while(last!=string::npos)
    {
         if(str[first]==str[last-1])
          cout<<str.substr(first,last)<<'\t';
       last++;
       first=str.find_first_not_of(" ",last);
       last=str.find(" ",last);
    }
 
     if(str[first]==str[str.length()-1])
      cout<<str.substr(first,last);
}
Добавлено через 1 минуту
поиск до цикла можно в принципе и упустить, но тогда нужно усложнить условие, в общем на ваш вкус )
shout27
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 47
10.01.2012, 00:57  [ТС]     Символьные строки. Работа с файлами. #3
Ну, спасибо)) Буду разбираться)
Просто С только первый год изучаю, да и вообще язык программирования, поэтому многое пока для меня не понятно...
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
10.01.2012, 02:55     Символьные строки. Работа с файлами. #4
тогда
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
int main ()
{
    string str="ababa galamaga ada";
    //если строка пустая или в ней 1 символ то нечего там искать
    if(str.length()<=1)
     exit(1);
     
    size_t first;//позиция начала слова
    size_t last;//позиция за концом слова
    first=str.find_first_not_of(" ");//найдём что-то кроме пробела (начало слова)
    last=str.find(" ");//найдём пробел (сл. символ за концом слова)
    
    while(last!=string::npos)//пока конец слова можно ещё найти
    {
         if(str[first]==str[last-1])
          cout<<str.substr(first,last)<<'\t';
       last++;
       first=str.find_first_not_of(" ",last);
       last=str.find(" ",last);
    }
    //после проработки цикла не проверяеться не явл. ли последнее слово искомым
    //когда 1 символ слова = последнему символу слова
    //проверим это
     if(str[first]==str[str.length()-1])
      cout<<str.substr(first,last);
}
shout27
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 47
10.01.2012, 19:14  [ТС]     Символьные строки. Работа с файлами. #5
О, спасибо! Так даже лучше
Yandex
Объявления
10.01.2012, 19:14     Символьные строки. Работа с файлами.
Ответ Создать тему
Опции темы

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