![]() |
Слово написанное больше всех
Надо написать функцию которая выводит последнее слово.Первая строка должна содержать одну линию, что является не более 1000 знаков с пробелами и вывод должен быть только слова с большими буквами.Прога не должна быть чувствительна к регистру(т,е если последовательность заканчивается на Can, то выводить CAN, если на can то тоже выводить CAN )
Ввод Wert works and Buffalo Вывод BUFFALO --------------------------------------------------------------------------------------------- Ввод Can you can the can with can ? Вывод CAN |
Извините Админ,я неправильно написал тему задачи,оно почему то у вас не редактируется
|
Vunderkind, какие будут предложения по поиску этого самого последнего слова?
Как оно вообще определяется - последнее слово? Всмысле буквально, как термин, что оно обозначает? Последнее слово - это ... Как только этот термин будет определен, решать задачу станет намного проще. |
Вот код который я написал
#include <iostream> using namespace std; int main() { int a; char ch[1000]; cin.getline(ch,1000); for (int i=0; i<strlen(ch); i++) { if (ch[i]==' ') a=i;} for (int i=a+1; i<strlen(ch); i++) { if (islower(ch[i])) ch[i]=toupper(ch[i]); if(isalpha(ch[i])) cout << ch[i]; } cout<<" "; return 0; } но этот код не работает если последовательность окончивается на символы.Например:если вводить Can you can the can with can ? то оно не выводить ничего |
Vunderkind, я тебя не зря попросил дать определение "последнему слову".
Пока ты четко не напишешь что ты ищешь и не поймешь суть, ты будешь продолжать "тыкаться носом в стенку". Если делать "заплатку" к данному коду, то вводи еще проверки. И да, прокомментируй код. |
Извините,я не правильно взял пример,и нет никакого определения "последнее слова"Вот правильный пример:
Вводим Apple arm Test (здесь "Test"является последним словам в последовательности) Выводит TEST(и выводит слова большими буквами) Вводим Enter qwerty goal !(если кончается на символы то все равно выводит посл. слова т.е goal) Выводит GOAL |
Так, ладно, пойдем с другой стороны.
Ответь, на вопрос "Что ты делаешь?" или "Что тебе надо сделать?" простыми словами, не касаясь программирования и кодов. Чтобы пятиклашка тебя понял. P.S. Сейчас главное не ерепенься(если чего), а правильно отвечай на вопросы. Их тут 5 от силы. После чего свою ошибка тебе станет прозрачна до нЕльзя. |
Хорошо,кажется у меня не получится найти с тобой общий язык.У меня тебе только 1 вопрос, есть ли что-нибудь которое определяет символ?
|
по ASCII кодам и по порядковому номеру?
Банальным сравнением с заданным набором? символ - это все что НЕ символ? |
определись что есть слово, затем что есть последнее к примеру:
"Apple arm Test" Выводит "TEST" Вводим "Enter qwerty goal !" Выводит "GOAL" а вот если так Вводим "Enter qwerty goal1 ?" Выводит "GOAL" или "GOAL1" или "QWERTY" Вводим "Enter qwerty goal fuck!!!me !" Выводит "GOAL" или "FUCK!!!ME" или "ME" вот когда определишься сможешь создать проверку на то является ли слово "словом", и соответственно получишь нужный результат, надо получить ординальное значение символа ORD(string[i]) затем сравнить входит ли он в допустимые пределы например "A".."Z" и "a".."z" (их ординальные значения соответственно: 65..90 и 97..122) если не входит то надо определить что с этим символом делать, надо ли его вырезать из слова или игнорировать слово или еще что, определи задачу еще конкретней тогда появится решение, так же незабудь про проверку на то действительно ли в строке 1000 символов, а вдруг больше ? крит тогда чтоли? (аж потянуло на программинг, установил сишарп :) это если для каждой строки надо находить последнее слово Код:
public static byte Ord(char ch) { return System.Convert.ToByte(ch); } |
Оформляйте свой код тегами - #
в противном случае тема уйдёт в тест-зону! |
Время: 22:28. |
Время: 22:28.
© OSzone.net 2001-