Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 09.12.2024
Сообщений: 7

Найти слова, у котоpых пеpвая и последняя буквы одинаковые

14.12.2024, 17:48. Показов 3074. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Помогите пожалуйста. Задание: Дана строка символов. Признак конца строки – символ '\n'
(перевод строки). Строка состоит из слов, pазделенных пpобелами. Вывести:
а) слова, у котоpых пеpвая и последняя буквы одинаковые, и
количество таких слов;
код:
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
59
60
61
62
#include <iostream>
#include <string>
#define DLSL 80 // максимальная длина слова
 
int main() 
{
    char s; // текущий символ
    char sl[DLSL]; // текущее слово
    int i, j; // индексы текущего символа в слове
    int count = 0; // счетчик слов с одинаковыми первой и последней буквой
    setlocale(LC_ALL, "Rus");
    printf("\nВведите строку символов:\n");
    s = getchar();
 
    while (s != '\n') 
    {
        if (s == ' ') 
        {
            s = getchar(); // пропускаем пробелы
        }
        else 
        {
            i = 0;
            do 
            {
                sl[i++] = s; // заполняем текущее слово
                s = getchar();
            } 
            while ((s != ' ') && (s != '\n') && (i < DLSL)); // проверяем конец слова и длину
   
            // Проверяем, если слово состоит из более чем 1 символа
            if (i > 1) 
            {
                // Проверяем, равны ли первая и последняя буквы
                if (sl[0] == sl[i - 1]) 
                {
                    if (count == 0) // если это первое слово с одинаковыми буквами
                    { 
                        printf("Слова, у которых первая и последняя буквы одинаковые:\n");
                    }
                    for (j = 0; j < i; j++) 
                    {
                        putchar(sl[j]); // выводим слово
                    }
                    putchar(' ');
                    count++; // увеличиваем счетчик
                }
            }
        }
    }
 
    if (count == 0) 
    {
        printf("Слов с одинаковыми первой и последней буквами нет.\n");
    }
    else 
    {
        printf("\nКоличество таких слов: %d\n", count);
    }
 
    return 0;
}
Ну так вот моя проблема: выводится как то непонятно.
Введите строку символов:
алиса
Слова, у которых первая и последняя буквы одинаковые:
 <Ёб 
Количество таких слов: 1

помогите кто чем сможет. почему выводит <Ёб, не могу понять
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2024, 17:48
Ответы с готовыми решениями:

Найти слова, у которых первая и последняя буквы одинаковые
Дана строка символов. Признак конца строки - символ «\п» (перевод строки). Строка состоит из слов, разделенных пробелами. а) Вывести...

Вывести слова в строке ДО слова, у которого одинаковые первая и последняя буквы
С клавиатуры вводится строка, надо вывести все слова до слова, у которого одинаковые первая и последняя буквы. Проблема в том, что я не...

Вывести все слова у которых первая и последняя буквы одинаковые
Вывести все слова у которых первая и последняя буквы одинаковые

24
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6317 / 3041 / 1054
Регистрация: 01.06.2021
Сообщений: 11,589
27.12.2024, 23:30
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от zss Посмотреть сообщение
C++
1
while (cin >> w && cin.get()!='\n')
так не выведется последнее слово
2
 Аватар для andrey_f
885 / 538 / 230
Регистрация: 21.02.2011
Сообщений: 5,705
28.12.2024, 09:40
Цитата Сообщение от dalekobegu Посмотреть сообщение
помогите кто чем сможет. почему выводит <Ёб, не могу понять
вы не инициализируете массив sl
0
Модератор
Эксперт С++
 Аватар для zss
13789 / 10981 / 6492
Регистрация: 18.12.2011
Сообщений: 29,281
28.12.2024, 12:59
Цитата Сообщение от andreyfreelans Посмотреть сообщение
вы не инициализируете массив sl
Инициализирует, вот здесь:
Цитата Сообщение от dalekobegu Посмотреть сообщение
sl[i++] = s; // заполняем текущее слово
1
 Аватар для andrey_f
885 / 538 / 230
Регистрация: 21.02.2011
Сообщений: 5,705
01.01.2025, 12:38
Цитата Сообщение от zss Посмотреть сообщение
Инициализирует, вот здесь:
а для остальных значений?
намек был на
C++
1
sl[i] = '\0';
после
C++
1
while ((s != ' ') && (s != '\n') && (i < DLSL)); // проверяем конец слова и длину
0
Модератор
Эксперт С++
 Аватар для zss
13789 / 10981 / 6492
Регистрация: 18.12.2011
Сообщений: 29,281
01.01.2025, 14:51
Цитата Сообщение от andreyfreelans Посмотреть сообщение
намек был на
В данном конкретном случае никак не проверяется (и не используется) наличие терминального нуля.
Нужна только проверка
Цитата Сообщение от dalekobegu Посмотреть сообщение
sl[0] == sl[i - 1]
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.01.2025, 14:51

Вывести все слова, у которых первая и последняя буквы одинаковые
Дана строка. Вывести все слова, у которых первая и последняя буквы одинаковые не используя стандартные средства для разбиения строк.

Строка: Вывести все слова, у которых первая и последняя буквы одинаковые
Дана строка, вывести все слова, у которых первая и последняя буквы одинаковые. Решите в делфи.

Вывести все слова cтроки, у которых первая и последняя буквы одинаковые
Дана строка. Вывести все слова, у которых первая и последняя буквы одинаковые

Вывести слова, у которых первая и последняя буквы одинаковые, и количество таких слов
Дана строка символов. Строка состоит из слов, разделенных пробелами. Вывести: слова, у которых первая и последняя буквы одинаковые, и...

Найти в строке слова, у которых первая и последняя буквы - гласные
Найти слова, у которых первая и последняя-гласные буквы.


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru