IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на строки, ужасс
сообщение
Сообщение #1


Гость






Вобщем такая задачка :
В заданном предложении заменить все строчные латинские буквы прописными.
Определить ,сколько раз в преобразованном предложении встречается
сочетание символов "А+В" Напечатать исходный и преобразованный тексты,
а также число встретившихся сочетаний.

Возникает сразу 2 вопроса:
-Как перевести строчные в прописные (говорят что както при помощи таблицы ASCII)
и -Как вообще понимать второе предложение?)))

Помогите пожалуйста кто силён?... я в тупике
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Как перевести строчные в прописные


если особых указаний нет, пользуемся стандартными средствами языка:

for i := 1 to length(s) do
s[i] := UpCase(s[i]);


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Благодарю!!! Работает!!))) Ну а как же всётаки быть со вторым вопросом?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Вот через таблицу, но для латинского алфавита:

for i:=1 to length(s) do if (ord(s[i])>=97) and (ord(s[i])<=122) then s[i]:=chr(ord(s[i])-32);
end.


Цитата
Определить ,сколько раз в преобразованном предложении встречается сочетание символов "А+В"

Во-первых, сочетание AB или именно А+B..
Вообще можно через pos('AB",s).. ищем, если нашли, то увеличили счетчик, а найденное сочетание удалили, и так пока не получится, что подстроки нет.. Правда это не самый лучший вариант.. придется исходную строку копировать в другую переменную, иначе потеряем..

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Вот и именно что с плюсом
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Ну это в целом ничего не меняет.. просто будешь искать pos('A+B',s) и все))
а можно еще так:
if (s[i]='A') and (s[i+1]='+') and (s[i+2]='B') then inc(kol);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Ну а что принять в качестве А и В ? любые 2 буквы чтоли?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Хм.. знаешь, вот я это "А+B" поняла как сочетание трех конкретных символов.. если тебе непонятно задание, то лучше спросить у препода..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






А! ,всё, допёрло!!))) Айра спасибо! как всё оказывается просто было!)))
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Цитата
Вообще можно через pos('AB",s).. ищем, если нашли, то увеличили счетчик, а найденное сочетание удалили, и так пока не получится, что подстроки нет..

Ай-яй-яй smile.gif Оля, если будем удалять можем нарваться на неприятности... К примеру:
s := 'hello A+B world AA+B+B !!!';
Что получим? Сколько раз 'A+B' встречается в строке? Внимательней с такими вещами...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а если удалять не А+В, а весь кусок строки, который заканчивается этим сочетанием?
ну или наоборот - копировать "хвост"...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
Внимательней с такими вещами...

ой.. не заметила.. wink.gif
Тогда придется все через индексы делать..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(мисс_граффити @ 15.05.2008 1:33) *

а если удалять не А+В, а весь кусок строки, который заканчивается этим сочетанием?
ну или наоборот - копировать "хвост"...

Проще забить найденный кусок "левыми" символами.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 6:52
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name