1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
1 | |
Найти самое длинное и самое короткое слово в предложении24.02.2010, 23:47. Показов 11013. Ответов 24
Метки нет (Все метки)
Составить и отладить программу, которая выполняет следующие действия. В заданном тексте из нескольких предложений найти самое длинное и самое короткое слово. Если они принадлежат одному и тому же предложению, заменить их в тексте звездочками.
помогите....хоть объясните как делать(((
1
|
24.02.2010, 23:47 | |
Ответы с готовыми решениями:
24
В заданном предложении найти самое короткое и самое длинное слово Найдите самое длинное, и самое короткое слово в заданном предложении Поменять местами в предложении самое длинное и самое короткое слово В каждом предложении требуется поменять местами самое длинное и самое короткое слово |
...
|
|
25.02.2010, 00:20 | 2 |
сначала на словах расскажу ))
для обработки текста можно создать двумерный массив типа string. Каждая строка массива - отдельное предложение. А столбцы - слова этого предложения. то есть элемент (i,j) - j-ое слово i-ого предложения. Для того чтобы текст разбить на предложения надо последовательно в цикле считывать символы с клавы (или из файла), как только пробел - записываем в текущую строку массива на текущее место считанное слово, и увеличиваем счетчик j (столбца) для текущего i (строки). И так далее до точки. Как только считали точку - переходим на новую строку массива и повторяем процесс. И так далее до введенного Enter ('\n') (или конца файла, если считывали из файла)- то есть до конца ввода текста. А затем уже по каждой строке массива вычисляешь длину каждого слова (есть спец. функция, а можно и самой в цикле). И сравниваешь с уже вычисленными и запоминаешь номер строки массива (для того чтобы узнать - из одного они предложения или нет) и номер столбца(чтобы заново слова не искать при необходимости замены на *) как для самого большого, так и для самого маленького слова. в общем, все равно как найти минимальный и максимальный элемент в двумерном массиве. ну и если запомненные номера предложений (то есть номера строки массива) искомых слов совпали - то меняешь их на звездочки.
2
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
25.02.2010, 17:43 [ТС] | 3 |
liebe, оххххх...как все сложно(((у вас нет никакого примера похожего,а то трудно наинать с нуля....а так огромное спасибо....я теперь поняла что делать...осталось только понять КАК))
0
|
...
|
|
25.02.2010, 17:56 | 4 |
примера нет, но могу написать ))) только вопрос, тебе (давай на ты ) надо именно символьный массив или можно строковый? и обязательно прям с ним все прогу работать или можно для галочки? (есть просто покороче вариант)
0
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
25.02.2010, 18:01 [ТС] | 5 |
liebe,
если не трудно то помоги плиз)ну задание заключается в том чтоб работать со строками....и типа постараться не использовать стандартных функций которые определяют длину слова и что там еще..... хорошо давай на ты))
0
|
9 / 7 / 3
Регистрация: 30.08.2008
Сообщений: 120
|
|
25.02.2010, 18:27 | 6 |
ta_4to а списки можно использовать вместо массива?
0
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
25.02.2010, 18:39 [ТС] | 7 |
Sined, неа(
0
|
...
|
||||||
25.02.2010, 19:47 | 8 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Вроде работает )) но так как нет полного текста задания, то сама придумала че делать в конце, и если есть несколько слов с одинаковой мин.длиной (макс. длиной) - выбираю первые встретившееся. В строке s1 - разделительные символы между словами, в s2 - между преложениями.если че - добавь нужные. А вообще не плохо бы увидеть весь текст задания
1
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
25.02.2010, 19:58 [ТС] | 9 |
Требования к реализации:
1) Начальные данные вводятся с клавиатуры с организацией необходимого диалога с пользователем, используя элементарный форматированный ввод-вывод. 2) Использование указателей для доступа к элементам обработки. 3) Преобразование строк происходит в той же области памяти, если это не оговорено в условии задания. 4) Использование встроенных функций работы со строками. 5) Если не оговорено отдельно, слова в предложениях могут отделяться любыми знаками препинания, количество пробелов не ограничено. 6) Тестирование программы провести на вариантах входной информации, которые предусматривают разные ситуации в пределах ограничений в постановке задачи. Анализ результатов необходимо провести самостоятельно до демонстрации программы преподавателю и зафиксировать тесты в тетради. 7) Программа должна сопровождаться комментарием, которой заключает в себе: П.И.Б., шифр группы, полное условие задания, примечания (если необходимо). 8) При наличии любых ограничений на входную информацию, или на алгоритм, они должны быть отмеченные в комментарии после условия задания. Оригинал
Вимоги до реалізації:
1) Початкові дані вводяться з клавіатури з організацією необхідного діалогу з користувачем, використовуючи елементарне форматоване введення-виведення. 2) Використання покажчиків для доступу до елементів обробки. 3) Перетворення рядків відбувається у тій самій області пам’яті, якщо це не оговорено в умові завдання. 4) Використання вбудованих функцій роботи з рядками. 5) Якщо не оговорено окремо, слова у реченнях можуть відокремлюватись будь-якими розді-ловими знаками, кількість прогалин не обмежена. 6) Тестування програми провести на варіантах вхідної інформації, які передбачають різні си-туації у границях обмежень у постановці задачі. Аналіз результатів необхідно провести са-мостійно до демонстрації програми викладачу та зафіксувати тести у зошиті. 7) Програма повинна супроводжуватися коментарем, якій містить в собі: П.І.Б., шифр групи, повну умову завдання, примітки (якщо необхідно). 8) При наявності будь-яких обмежень на вхідну інформацію, або на алгоритм, вони повинні бути зазначені в коментарі після умови завдання. вот типа требования...но они на укр языке))) спасибки большое)) сейчас буду смотреть... Добавлено через 4 минуты а у меня выдает ошибку на #include <sstream> у меня ВС++3.11... а как такой инклуд записать в С?
0
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
25.02.2010, 20:16 [ТС] | 11 |
Требования к реализации: 1) Начальные данные вводятся из клавиатуры с организацией необходимого диалога с пользователем, используя элементарное форматированное введение-выведение. 2) Использование указателей для доступа к элементам обработки. 3) Превращение строк происходит в той же области памяти, если это не оговорено в условии задания. 4) Использование встроенных функций работы со строками. 5) Если не оговорено отдельно, слова в предложениях могут отделяться любыми розделительными знаками
у меня теперь 5 ошибок пишет.... тут и тут
0
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
25.02.2010, 22:39 [ТС] | 13 |
.срр
ага надеюсь помогут)) спасибки тебя большое)) интересно в чем же проблема....просто пишет что необьявленны "string","s1","s2"
0
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
25.02.2010, 22:54 [ТС] | 15 |
liebe, та я поняла что он не знаю что это такое..просто я так поняла нужно правильно обьявить тип стринг и ве ошибки исчезнут)верно?
0
|
...
|
|||||||||||
25.02.2010, 23:52 | 16 | ||||||||||
да )) только я не знаю как это сделать в ВС++ 3.11...я делала в 6-ом ВС - там все работает
Добавлено через 44 минуты попробуй переписать
1
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
25.02.2010, 23:59 [ТС] | 17 |
0
|
...
|
||||||
26.02.2010, 00:08 | 18 | |||||
у меня только это перед int main()
а вообще эта функция определения длины строки. Эти строки (s1 и s1) - константы, ты можешь сама посчитать сколько там символов (то есть узнать длину) и написать точную цифру...
0
|
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 36
|
|
26.02.2010, 00:18 [ТС] | 19 |
ниче не помогает((( интересно в чем причина....пишет что тип функция не корректна...
0
|
...
|
|
26.02.2010, 00:26 | 20 |
нда...а у меня и так, и так съел...
посчитай сама длину в цикле - не парься ))) или точную цифру напиши прям в цикле )) потом может кто еще все-таки заглянет сюда и посоветует, а так тяжело пальцем в небо тыкать не имея ВС 3.11 вообще говоря, у тебя в задании написано в пункте 4 использовать встренные функции работы со строками...эти два цикла for нужны были для того чтобы узнать пренадлежит ли введенный символ строке (то есть является ли он разделительным)- для этого есть спец. фукнция, можешь ее использовать (правда я не помню какая, посмотри где-нить )
1
|
26.02.2010, 00:26 | |
26.02.2010, 00:26 | |
Помогаю со студенческими работами здесь
20
В заданном предложении найти самое короткое и самое длинное слова Ввести строку с клавиатуры. Найти самое длинное слово в строке и самое короткое Найти самое короткое и самое длинное слово в строке Найти самое короткое и самое длинное слово в строке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |