Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для hackroute

Пользователь


Сообщения: 62
Благодарности: 11

Профиль | Отправить PM | Цитировать


определись что есть слово, затем что есть последнее к примеру:

"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); }             
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 = "";", либо тебе надо обнулять переменную когда после пробела найден первый символ подходящий под условия "буквы слова" если обнаружен пробел это ведь еще не значит что за ним есть слово

-------
HackRoute


Последний раз редактировалось hackroute, 08-11-2010 в 09:54.


Отправлено: 12:52, 07-11-2010 | #10