Вывод слов,которые заканчиваются на "С" - C++
ано несколько слов,которые пользователь вводит с клавиатуры,нужно вывести те,что заканчиваются на "с".
У меня пока получилось только сделать так,чтобы он выводил количество таких слов,а вот сами слова не могу,помогите. Код:
#include "stdafx.h" |
Попытаюсь помочь, хотя в С - ни бельмеса. Тем более, в С++.
Но так, несколько соображений. 1. У Вас даже подсчет количества слов не совсем корректен: практически исключено из обработки последнее слово. А ведь оно тоже может заканчиваться на "с", и после него нет запятой! Поэтому цикл следует поправить как-то так: for (int i=0; i<a; i++){ if (((s[i]=='с')&&(s[i+1]==','))||((s[i]=='с')&&(i==a-1))) 2. Чтобы выводить нужные слова, проще всего создать вспомогательную строковую переменную, например string Q; И дальше как-то так: Q=''; for (int i=0; i<a; i++){ while ((!s[i]==' ')&&(!s[i]==',')) {Q=Q+s[i]} if (((s[i]=='с')&&(s[i+1]==','))||((s[i]=='с')&&(i==a-1))) { {n++; cout << Q; Q=''}; ; } Извините за возможные ошибки, языка не знаю, просто на уровне идей. |
Цитата:
|
Цитата:
Ага, понял, в чем ошибка - надо оператор While заменить на If. На Паскале - так (отлажено; учтите, что, в отличие от С, счет в цикле идет с 1, а не с 0): Код:
Var |
Часовой пояс GMT +4, время: 01:29. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.