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

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

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

Author24 — интернет-сервис помощи студентам
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 2
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  [ТС] 3
Спасибо, только мне бы что-нибудь попроще , если можно))
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.10.2012, 15:59 4
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  [ТС] 5
ПРОШЛИ только циклы и двумерные массивы))
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.10.2012, 16:05 6
Цитата Сообщение от Csacsa Посмотреть сообщение
ПРОШЛИ только циклы и двумерные массивы))

Не по теме:

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

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

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

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

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

ага, пойду мучить себя и комп)
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
22.10.2012, 17:25 12
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
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.10.2012, 18:09 13
Циклами как-то неинтересно. 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
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
22.10.2012, 18:23 14
Цитата Сообщение от ForEveR Посмотреть сообщение
Циклами как-то неинтересно. string намного проще, но все же функции cstring никто не отменял
Я думал нельзя пользоваться стандартными функциями.
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 4
04.12.2014, 18:03 15
David Sylva, А ты не мог бы написать мне 2ую задачу в паскале? если конечно знаешь его
0
04.12.2014, 18:03
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
Ответ Создать тему
Новые блоги и статьи
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
Как сбросить локальный репозиторий до состояния удалённого репозитория Git
bytestream 21.01.2025
При разработке программного обеспечения с использованием системы контроля версий Git разработчики часто сталкиваются с необходимостью синхронизации локального и удаленного репозиториев. Данная задача. . .
Как запретить подсветку выделенного текста с помощью CSS
bytestream 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения. Выделение текста может. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru