Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Слово написанное больше всех

Ответить
Настройки темы
C/C++ - Слово написанное больше всех

Новый участник


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

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


Изменения
Автор: Vunderkind
Дата: 06-11-2010
Надо написать функцию которая выводит последнее слово.Первая строка должна содержать одну линию, что является не более 1000 знаков с пробелами и вывод должен быть только слова с большими буквами.Прога не должна быть чувствительна к регистру(т,е если последовательность заканчивается на Can, то выводить CAN, если на can то тоже выводить CAN )
Ввод
Wert works and Buffalo
Вывод
BUFFALO
---------------------------------------------------------------------------------------------
Ввод
Can you can the can with can ?
Вывод
CAN

Отправлено: 07:11, 05-11-2010

 

Новый участник


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

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


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

Отправлено: 07:30, 05-11-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для lxa85

Необычный


Contributor


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

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


Vunderkind, какие будут предложения по поиску этого самого последнего слова?
Как оно вообще определяется - последнее слово?
Всмысле буквально, как термин, что оно обозначает?
Последнее слово - это ...
Как только этот термин будет определен, решать задачу станет намного проще.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 12:14, 05-11-2010 | #3


Новый участник


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

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


Вот код который я написал
#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 ? то оно не выводить ничего

Отправлено: 16:43, 06-11-2010 | #4


Аватара для lxa85

Необычный


Contributor


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

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


Vunderkind, я тебя не зря попросил дать определение "последнему слову".
Пока ты четко не напишешь что ты ищешь и не поймешь суть, ты будешь продолжать "тыкаться носом в стенку".
Если делать "заплатку" к данному коду, то вводи еще проверки.
И да, прокомментируй код.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 02:44, 07-11-2010 | #5


Новый участник


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

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


Извините,я не правильно взял пример,и нет никакого определения "последнее слова"Вот правильный пример:
Вводим
Apple arm Test (здесь "Test"является последним словам в последовательности)
Выводит
TEST(и выводит слова большими буквами)
Вводим
Enter qwerty goal !(если кончается на символы то все равно выводит посл. слова т.е goal)
Выводит
GOAL

Отправлено: 08:38, 07-11-2010 | #6


Аватара для lxa85

Необычный


Contributor


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

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


Так, ладно, пойдем с другой стороны.
Ответь, на вопрос "Что ты делаешь?" или "Что тебе надо сделать?" простыми словами, не касаясь программирования и кодов.
Чтобы пятиклашка тебя понял.

P.S. Сейчас главное не ерепенься(если чего), а правильно отвечай на вопросы. Их тут 5 от силы. После чего свою ошибка тебе станет прозрачна до нЕльзя.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Последний раз редактировалось lxa85, 07-11-2010 в 08:47. Причина: PS


Отправлено: 08:44, 07-11-2010 | #7


Новый участник


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

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


Хорошо,кажется у меня не получится найти с тобой общий язык.У меня тебе только 1 вопрос, есть ли что-нибудь которое определяет символ?

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


Аватара для lxa85

Необычный


Contributor


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

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


по ASCII кодам и по порядковому номеру?
Банальным сравнением с заданным набором?
символ - это все что НЕ символ?

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


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


Аватара для 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Слово написанное больше всех

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
HDD - Load/unload cycle count. Всё больше и больше 3..2..1... BOOM Накопители (SSD, HDD, USB Flash) 5 23-09-2021 15:45
comScore: женщины больше всех играют в различные игры в Интернете OSZone News Новости информационных технологий 0 11-08-2010 00:30
Все знают про обьеденение строк ('слово'&'еще слово'), а есть ли способ исключениеня? tweakos AutoIt 3 15-07-2009 09:52
OpenBSD - Что значит сдесь написанное??? Srednas Общий по FreeBSD 1 22-01-2008 13:34
OpenBSD - Что значит сдесь написанное??? Srednas Общий по FreeBSD 0 22-01-2008 12:49




 
Переход