Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/27: Рейтинг темы: голосов - 27, средняя оценка - 4.52
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 40

Найти те слова, которые начинаются и заканчиваются одной и той же буквой

22.10.2012, 15:20. Показов 5174. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1_Символьная строка заканчивается восклицательным знаком (!). Слова в ней отделены друг от друга точкой с запятой (. Найти те слова, которые начинаются и заканчиваются одной и той же буквой.
2_. Заданный текст распечатать по строкам, понимая под строкой либо очередные 60 литер, если среди них нет запятой, либо часть текста до запятой включительно.
3_ Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: буквы слова упорядочены по алфавиту.

Заранее огромное спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2012, 15:20
Ответы с готовыми решениями:

Найти в тексте слова, которые начинаются и заканчиваются одной и той же буквой
Нужна программа для нахождения в тексте слов, которые начинаются и заканчиваются одной и той же буквой, если такие слова есть, то написать...

Найти в тексте слова, которые начинаются и заканчиваются одной и той же буквой
В соответствии с вариантом задания написать, отладить и протестировать программы обработки числовых и символьных массивов. Заданные...

Найти слова, которые начинаются и заканчиваются одной и той же буквой (перевести из Паскаля в С++)
uses crt; var s,sl,sn: string; a: array of string; i,k: integer; begin write('s='); ...

14
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.10.2012, 15:52
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void check_word(std::wstring word)
{
    if(word.front() == word.back())
        std::wcout<<word<<std::endl;
}
 
int main (void)
{ 
    std::wstring a(L"laskjd;asjkl;jasj;ab;tereraft;bba;wqwyqws!");
    int start=-1, saved_start=0;
    while((start = a.find(';', start+1)) != std::wstring::npos)
    {
        check_word(a.substr(saved_start, start - saved_start));
        saved_start = start+1;
    }
    check_word(a.substr(saved_start, a.length()-1 - saved_start));
1
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 40
22.10.2012, 15:59  [ТС]
Спасибо, только мне бы что-нибудь попроще , если можно))
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.10.2012, 15:59
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <vector>
#include <string>
#include <iostream>
 
#include <boost/algorithm/string.hpp>
#include <boost/range/adaptor/filtered.hpp>
#include <boost/range/algorithm/copy.hpp>
 
int main()
{
   std::string s = "hello;olo;this;isi!";
   s.erase(s.size() - 1);
   std::vector<std::string> v;
   boost::split(v, s, [](const char c) { return c == ';'; }, boost::token_compress_on);
   boost::copy(v | boost::adaptors::filtered([](const std::string& s)
   {
      return *s.begin() == *s.rbegin();
   }), std::ostream_iterator<std::string>(std::cout, "\n"));  
}
http://liveworkspace.org/code/... 586908f1a9

3.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <vector>
#include <string>
#include <iostream>
 
#include <boost/algorithm/string.hpp>
#include <boost/range/adaptor/filtered.hpp>
#include <boost/range/algorithm/copy.hpp>
 
int main()
{
   std::string s = "hello want do you abc want";
   std::vector<std::string> v;
   boost::split(v, s, [](const char c) { return c == ' '; }, boost::token_compress_on);
   const std::string& last = v.back();
   boost::copy(v | boost::adaptors::filtered([last](const std::string& s)
   {
      return s != last && std::is_sorted(s.begin(), s.end());
   }), std::ostream_iterator<std::string>(std::cout, "\n"));  
}
http://liveworkspace.org/code/... 0a6c01b802
1
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 40
22.10.2012, 16:03  [ТС]
ПРОШЛИ только циклы и двумерные массивы))
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.10.2012, 16:05
Цитата Сообщение от Csacsa Посмотреть сообщение
ПРОШЛИ только циклы и двумерные массивы))

Не по теме:

Поздно написал уже. Поздно :D раньше думать надо было.

1
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 40
22.10.2012, 16:10  [ТС]
Может кто-нибудь поможет, составить код, ну прям совсем совсем для новичка в программировании
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.10.2012, 16:14
Csacsa, Алгоритм подсказать могу, ибо писать мне лень.
1) Парсим строку. Бежим в цикле по получившемуся массиву - сравниваем str[0] с str[strlen(str) - 1], если равны то это одно из нужных слов.
3) Парсим строку. Находим последнее слово. Бежим в цикле, для каждого сравниваем на равенство (посредством strcmp) с последним, если не равно, проверяем отсортировано-ли в алфавитном порядке. Если оба условия выполнены - это одно из нужны слов.
0
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 40
22.10.2012, 16:20  [ТС]
Подожду.... может еще кто откликнется)
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.10.2012, 16:23
Csacsa,
2. идем циклом по строке до 60-го символа ища запятую. Если встретила запятая, выводим строку до запятой включительно, и идем искать в следующих 60 символах. Если запятая не встретилась, выводим 60 символов, и продолжаем искать запятую в следующих 60-ти.

Добавлено через 52 секунды
Цитата Сообщение от Csacsa Посмотреть сообщение
Подожду.... может еще кто откликнется)
Эмммм...а кто будет программировать учиться? Пробуй делать, а не ждать.
0
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 40
22.10.2012, 16:27  [ТС]
Цитата Сообщение от Vourhey Посмотреть сообщение
Csacsa,
2. идем циклом по строке до 60-го символа ища запятую. Если встретила запятая, выводим строку до запятой включительно, и идем искать в следующих 60 символах. Если запятая не встретилась, выводим 60 символов, и продолжаем искать запятую в следующих 60-ти.

Добавлено через 52 секунды

Эмммм...а кто будет программировать учиться? Пробуй делать, а не ждать.

ага, пойду мучить себя и комп)
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
22.10.2012, 17:25
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
#include <iostream> 
 
int main() 
{ 
    char str[] = "eal;aahaa;dfggg;qwq!";
    unsigned i, j;  
    int count = -1;
 
    for ( i = 0; i < strlen(str); i++)  
    {   
        count++;
        if(str[i] == ';' || str[i] =='!') 
        {  
            
 
            if(str[i-count] == str[i-1]) 
            { 
                for ( j = i - count; j <= i - 1; j++) 
                    std::cout << str[j];  
                std::cout << std::endl;
            }  
            count = -1;
        }  
        
        
    }  
    
}
Добавлено через 11 минут
2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream> 
 
int main() 
{ 
    char str[] = "sadasd, asdfghj asdftghjuytre asdfgthrtyu asdfghrtyuk asdfghjklerty asdfghjktyre asdfgh"; 
    unsigned i;  
    int count = 0;
 
    for ( i = 0; i < strlen(str); i++)  
    {   
        count++;
        std::cout << str[i]; 
        if(str[i] == ',' || count == 60) 
        { 
            std::cout << std::endl;  
            count = 0;
        }
    }   
    
    std::cout << std::endl;
}
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.10.2012, 18:09
Циклами как-то неинтересно. string намного проще, но все же функции cstring никто не отменял

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstring>
 
int main()
{
   const char* p = "this;isi;now;aba!";
   const char* delim = ";";
   const size_t p_len = strlen(p);
   char* without_pling = new char[p_len + 1];
   strncpy(without_pling, p, p_len - 1);
   for (char* c = strtok(without_pling, delim); c; c = strtok(0, delim))
   {
      const size_t size = strlen(c);
      if (size && c[0] == c[size - 1])
      {
         std::cout << c << std::endl;
      }
   }
   delete[] without_pling;
}
http://liveworkspace.org/code/... e8aa7d6592
1
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
22.10.2012, 18:23
Цитата Сообщение от ForEveR Посмотреть сообщение
Циклами как-то неинтересно. string намного проще, но все же функции cstring никто не отменял
Я думал нельзя пользоваться стандартными функциями.
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 4
04.12.2014, 18:03
David Sylva, А ты не мог бы написать мне 2ую задачу в паскале? если конечно знаешь его
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2014, 18:03
Помогаю со студенческими работами здесь

Строки. Найти все слова, которые начинаются и заканчиваются одной и той же буквой.
задан текст. найти все слова, которые начинаются и заканчиваются одной и той же буквой.

Дана строка. Найти в ней те слова, которые начинаются и заканчиваются одной и той же буквой
#include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { char str = &quot;Сегодня состоялось мероприятие, было весело, особенно...

Найти количество слов, которые начинаются и заканчиваются одной и той же буквой
Проблема(

Определить количество слов, которые начинаются и заканчиваются одной той же буквой
Помогите пожалуйста решить задачи 3. Дана строка, состоящая из слов, разделенных пробелами(одним). Определить количество слов, которые...

Определить количество слов, которые начинаются и заканчиваются одной и той же буквой
Дана строка, состоящая из слов, разделенных пробелом. Определить количество слов, которые начинаются и заканчиваются одной и той же буквой....


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru