Помогите с задачей, задача на строки |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Помогите с задачей, задача на строки |
Точьичка |
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: 0 |
Вот текст задачи:
Дана строка символов. Определить количество слов, начиная с буквы "а", вывести на печать самое длинное слово, начинающееся с буквы "а" помогите пожалуйста Сообщение отредактировано: Точьичка - |
compiler |
Сообщение
#2
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Вот текст задачи: Дана строка символов. Определить количество слов, начиная с буквы "а", вывести на печать самое длинное слово, начинающееся с буквы "а" помогите пожалуйста проходишь циклом по тексту, если после пробела стоит "а", то это слово начинается на "а", считаешь количество букв в нем(от "а" до знака припенания пробела) и если это количество больше самого большого то запоминаешь это слово и количиство его букв в самое большое... тоесть у тебя есть строка ввода, проходя по которой ты сравниваешь текущее слово с самым большим на данный момент(не забудь его инициализировать) и запоминаешь текущее туда если условие удалетворяется, а потом идеш дальше и так до конца строки... где возникают вопросы? что не получается? -------------------- Спасибо!
Удачи! |
-Илья- |
Сообщение
#3
|
Гость |
Вот текст задачи: Дана строка символов. Определить количество слов, начиная с буквы "а", вывести на печать самое длинное слово, начинающееся с буквы "а" помогите пожалуйста uses SysUtils; var s, substr: array [0..200] of char; len, maxLen, N: integer; p, p0: PChar; begin writeln('Enter string'); readln(s); p:=s; maxLen:=0; N:=0; while p <> StrEnd(s) do begin while p^ = ' ' do inc(p); if p^ <> 'a' then begin p := StrScan(p, ' '); if p = nil then break; end else begin len:=0; inc(N); p0:=p; repeat inc(len); inc(p); until (p = StrEnd(s)) or (p^ = ' '); if len > maxLen then begin maxLen:=len; StrMove(substr, p0, p-p0); end; end; end; writeln('max len = ', maxLen, '; N = ', N); writeln('max string: ', substr); end. |
Точьичка |
Сообщение
#4
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: 0 |
вот после слова BEGIN вообще ничего не получалось. Огроооомное спасибо!
Добавлено через 6 мин. 2 Илья: Файл SysUtils не найден, к сожалению 2 compiler: Будем пробовать! |
Sozialist |
Сообщение
#5
|
Клавиатурный тиран Группа: Пользователи Сообщений: 79 Пол: Мужской Реальное имя: Дмитрий Репутация: -2 |
Илья, Дельфи, конечно, круче) Никто не спорит.
Точьичка Выложу завтра адаптированную версию. Сообщение отредактировано: Sozialist - |
Точьичка |
Сообщение
#6
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: 0 |
пытылысь так:
он останавливает курсор на строке readln(s) и пишет что Cannot Read or Write variables of this type тогда попробовала так:
Теперь он останавливает курсор на строке s[i+1]=#97 и пишет ошибку 41:Operand types do not match operator Сообщение отредактировано: Точьичка - |
Точьичка |
Сообщение
#7
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: 0 |
получилось составить зодачу, которая считает слова, начинающиеся на а
clrscr; а вот подсчет количества "а" в слове не идет никак |
wilin |
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 16 Пол: Женский Репутация: 0 |
А в чем проблема? В начале цикла присвой максу ноль, в цикле сделай сравнение с q. Если он больше макс, то заменяй
|
klem4 |
Сообщение
#9
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Точьичка все просто:
uses crt; в следующий раз используй поиск: Разбиение на слова. Все способы. Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Текстовая версия | 4.05.2024 15:14 |