C/C++ - Слово написанное больше всех
-
Vunderkind
C/C++ - Слово написанное больше всех
Надо написать функцию которая выводит последнее слово.Первая строка должна содержать одну линию, что является не более 1000 знаков с пробелами и вывод должен быть только слова с большими буквами.Прога не должна быть чувствительна к регистру(т,е если последовательность заканчивается на Can, то выводить CAN, если на can то тоже выводить CAN )
Ввод
Wert works and Buffalo
Вывод
BUFFALO
---------------------------------------------------------------------------------------------
Ввод
Can you can the can with can ?
Вывод
CAN
Ввод
Wert works and Buffalo
Вывод
BUFFALO
---------------------------------------------------------------------------------------------
Ввод
Can you can the can with can ?
Вывод
CAN
-
Vunderkind
Re: C/C++ - Слово написанное больше всех
Извините Админ,я неправильно написал тему задачи,оно почему то у вас не редактируется
-
lxa85
Re: C/C++ - Слово написанное больше всех
Vunderkind, какие будут предложения по поиску этого самого последнего слова?
Как оно вообще определяется - последнее слово?
Всмысле буквально, как термин, что оно обозначает?
Последнее слово - это ...
Как только этот термин будет определен, решать задачу станет намного проще.
Как оно вообще определяется - последнее слово?
Всмысле буквально, как термин, что оно обозначает?
Последнее слово - это ...
Как только этот термин будет определен, решать задачу станет намного проще.
-
Vunderkind
Re: C/C++ - Слово написанное больше всех
Вот код который я написал
#include
using namespace std;
int main()
{
int a;
char ch[1000];
cin.getline(ch,1000);
for (int i=0; i
#include
using namespace std;
int main()
{
int a;
char ch[1000];
cin.getline(ch,1000);
for (int i=0; i
-
lxa85
Re: C/C++ - Слово написанное больше всех
Vunderkind, я тебя не зря попросил дать определение "последнему слову".
Пока ты четко не напишешь что ты ищешь и не поймешь суть, ты будешь продолжать "тыкаться носом в стенку".
Если делать "заплатку" к данному коду, то вводи еще проверки.
И да, прокомментируй код.
Пока ты четко не напишешь что ты ищешь и не поймешь суть, ты будешь продолжать "тыкаться носом в стенку".
Если делать "заплатку" к данному коду, то вводи еще проверки.
И да, прокомментируй код.
-
Vunderkind
Re: C/C++ - Слово написанное больше всех
Извините,я не правильно взял пример,и нет никакого определения "последнее слова"Вот правильный пример:
Вводим
Apple arm Test (здесь "Test"является последним словам в последовательности)
Выводит
TEST(и выводит слова большими буквами)
Вводим
Enter qwerty goal !(если кончается на символы то все равно выводит посл. слова т.е goal)
Выводит
GOAL
Вводим
Apple arm Test (здесь "Test"является последним словам в последовательности)
Выводит
TEST(и выводит слова большими буквами)
Вводим
Enter qwerty goal !(если кончается на символы то все равно выводит посл. слова т.е goal)
Выводит
GOAL
-
lxa85
Re: C/C++ - Слово написанное больше всех
Так, ладно, пойдем с другой стороны.
Ответь, на вопрос "Что ты делаешь?" или "Что тебе надо сделать?" простыми словами, не касаясь программирования и кодов.
Чтобы пятиклашка тебя понял.
P.S. Сейчас главное не ерепенься(если чего), а правильно отвечай на вопросы. Их тут 5 от силы. После чего свою ошибка тебе станет прозрачна до нЕльзя.
Ответь, на вопрос "Что ты делаешь?" или "Что тебе надо сделать?" простыми словами, не касаясь программирования и кодов.
Чтобы пятиклашка тебя понял.
P.S. Сейчас главное не ерепенься(если чего), а правильно отвечай на вопросы. Их тут 5 от силы. После чего свою ошибка тебе станет прозрачна до нЕльзя.
-
Vunderkind
Re: C/C++ - Слово написанное больше всех
Хорошо,кажется у меня не получится найти с тобой общий язык.У меня тебе только 1 вопрос, есть ли что-нибудь которое определяет символ?
-
lxa85
Re: C/C++ - Слово написанное больше всех
по ASCII кодам и по порядковому номеру?
Банальным сравнением с заданным набором?
символ - это все что НЕ символ?
Банальным сравнением с заданным набором?
символ - это все что НЕ символ?
-
hackroute
Re: C/C++ - Слово написанное больше всех
определись что есть слово, затем что есть последнее к примеру:
"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) затем сравнить входит ли он в допустимые пределы например "A".."Z" и "a".."z" (их ординальные значения соответственно: 65..90 и 97..122)
если не входит то надо определить что с этим символом делать, надо ли его вырезать из слова или игнорировать слово или еще что, определи задачу еще конкретней тогда появится решение, так же незабудь про проверку на то действительно ли в строке 1000 символов, а вдруг больше ? крит тогда чтоли?
(аж потянуло на программинг, установил сишарп
это если для каждой строки надо находить последнее слово
Код:
в твоем же алгоритме если пробел был перед вопросом "ффф ?" то конечно он ничего не выведет ведь нету символов после пробела для выведения, надо сохранять последнее найденое слово "temps.Length > 0) lastword = temps;" и обнулять временую переменную для поиска следующего "temps = "";", либо тебе надо обнулять переменную когда после пробела найден первый символ подходящий под условия "буквы слова" если обнаружен пробел это ведь еще не значит что за ним есть слово
"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) затем сравнить входит ли он в допустимые пределы например "A".."Z" и "a".."z" (их ординальные значения соответственно: 65..90 и 97..122)
если не входит то надо определить что с этим символом делать, надо ли его вырезать из слова или игнорировать слово или еще что, определи задачу еще конкретней тогда появится решение, так же незабудь про проверку на то действительно ли в строке 1000 символов, а вдруг больше ? крит тогда чтоли?
(аж потянуло на программинг, установил сишарп

это если для каждой строки надо находить последнее слово
Код:
Код: Выделить всё
public static byte Ord(char ch) { return System.Convert.ToByte(ch); }
public static bool ismychar(char code)
{bool result = false;
if (((Ord(code) >= 65) && (Ord(code) <= 90)) || (((Ord(code) >= 97) && (Ord(code) <= 122))))
result = true;
return result;
}
private void button1_Click(object sender, EventArgs e)
{
int i, j;
for (i = 0; i< listBox1.Items.Count; i++)
{string lastword = "";
string temps = "";
string s = listBox1.Items[i].ToString();
for (j = 0; j < s.Length; j++)
{
if (ismychar(s[j])) { temps = temps + s[j]; }
else {if (s[j].ToString() == " ") {if (temps.Length > 0) lastword = temps; temps = "";}}}
if (temps.Length > 0) lastword = temps;
if (lastword.Length > 0) { listBox2.Items.Add(lastword.ToUpper());
};
}в твоем же алгоритме если пробел был перед вопросом "ффф ?" то конечно он ничего не выведет ведь нету символов после пробела для выведения, надо сохранять последнее найденое слово "temps.Length > 0) lastword = temps;" и обнулять временую переменную для поиска следующего "temps = "";", либо тебе надо обнулять переменную когда после пробела найден первый символ подходящий под условия "буквы слова" если обнаружен пробел это ведь еще не значит что за ним есть слово