Задача на строки!, Помогите написать! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача на строки!, Помогите написать! |
Akella |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
Условие: Дана непустая последовательность слов из строчных латинских букв; слова разделяются запятыми или пробелами (без разницы). Среди всех пар Ai, Bi, где Ai - первая, Bi - последняя буква i-го слова пос-ти, определить наиболее часто встречающуюся пару!
Пример: abcd abd adc bcd Чаще всего встречается пара a и d! Заранее ОГРОМНОЕ спасибо! А то я в строках не очень разбираюсь! Сообщение отредактировано: Akella - |
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
А то я в строках не очень разбираюсь! А чего в них разбираться? Чтобы слова выделить, вот тут почитай: Разбиение на слова. Все способы. А потом сделай двумерный массив целых: n: array['a'..'z','a'..'z']of integer;Заполни его нулями. А потом пройдись по всем словам (допустим, s[i]) и делай вот такую операцию: Inc(n[s[i][1],s[i][Length(s[i])]]); В результате в массиве n будут лежать количества всех пар. Найди в нем максимум, его координаты и будут нужной парой. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
эээээ.....не очень понятно... и какие-то длинные способы разбивки на слова...
Сообщение отредактировано: Akella - |
Lapp |
Сообщение
#4
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
эээээ.....не очень понятно... ыыыыы... совсем непонятно, что именно тебе не очень понятно.. Добавлено через 1 мин. какие-то длинные способы разбивки на слова... Ага - уже лучше! ну, вот этот не очень длинный: Разбиение на слова. Все способы. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
можно сказать что все...
Сообщение отредактировано: Akella - |
Lapp |
Сообщение
#6
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
можно сказать что все... И тем не менее, давай конкретные вопросы. В способе klem4 разбивки на слова что неясно? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#7
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
так что такое inc ?? мы этого не проходили вроде... что он делает? и что такое copy?
Сообщение отредактировано: Akella - |
Lapp |
Сообщение
#8
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
что такое inc ?? В данном случае - прибавляет единицу к аргументу. От английского increase, увеличивать. Добавлено через 1 мин. что такое copy? Цитата Function Copy(S: String; Index, Count: Integer): String Возвращает подстроку из строки S, начиная с позиции Index и длиной Count символов. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#9
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
ну с функцией вроде разобрался, теперь собственно сама прога....
|
Lapp |
Сообщение
#10
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
теперь собственно сама прога.... Если ты разобрался с функцией, "собственно сама прога" будет состоять из: а. описания массива n; б. заполнения его нулями; с. разбиения на слова; д. цикла по всем словам с упомянутым мной оператором в теле; е. поиска макимума по массиву n. Собственно, все то, что я уже сказал выше.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#11
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
как перевести из string в char из строковой переменной в символьную т.е ?
|
Lapp |
Сообщение
#12
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
как перевести из string в char из строковой переменной в символьную т.е ? Что значит перевести? Как ты собираешься засунуть строку в один символ?? С другой стороны, i-й символ строки s - это символьная переменная, s[i] Я использовал это в своем первом сообщении. Разбери его внимательно. По косточкам -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#13
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
у меня тут несростаются типы и переменные - ошибки.... например когда я массив n заполняю нулями...
|
Lapp |
Сообщение
#14
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
покажи, как ты это делаешь. Желательно, со всеми объявлениями переменных. Короче, покажи всю прогу.
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#15
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
в принципе я еще мало сделал, потому, что мне тут объясняли что к чему.... так что воть
program lab_3_16; |
Lapp |
Сообщение
#16
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
не так:
for i:=1 to 60 do а вот так: for c:='a' to 'z' do - где c и d - переменные типа char -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#17
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
что-то у меня цикл не получается, не могли бы вы мне его написать поподробнее...
|
Lapp |
Сообщение
#18
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
что-то у меня цикл не получается, не могли бы вы мне его написать поподробнее... Вот так: m:=GetWords(text,Words); Только я оччень не советую называть переменную text, так как text - это зарезервированное слово Паскаля. Все, я пошел спать, скоро не жди. Сам думай. Все сказано уже. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Akella |
Сообщение
#19
|
Пионер Группа: Пользователи Сообщений: 58 Пол: Мужской Репутация: 0 |
я не понимаю почему кампилтору не нравится тип переменной text вот тут
m:=GetWords(text,Words); вроде бы все должно быть окей! |
Lapp |
Сообщение
#20
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
кампилтору не нравится тип переменной text вот тут m:=GetWords(text,Words); вроде бы все должно быть окей! Я не знаю, что не нравится твоему "кампилтору", моему компилятору все нравится. Приводи полную и точную информацию об ошибке, а не свою интерпретацию. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 22.12.2024 12:19 |