Люди...помогите...дали мне такое задания для типовика ...озвучиваю: Преобразовать заголовки к верхнему регистру, используя русский и латинский регистры.
Ума не приложу, как делать, а надо. Жду помощи.
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| Frozen83 |
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Люди...помогите...дали мне такое задания для типовика ...озвучиваю: Преобразовать заголовки к верхнему регистру, используя русский и латинский регистры.
Ума не приложу, как делать, а надо. Жду помощи. |
![]() ![]() |
| volvo |
Сообщение
#2
|
|
Гость |
Frozen83
А конкретнее? Это нужно в Паскале или в Дельфи? Что за заголовки? |
| Frozen83 |
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Нужно в Pascale. А насчет какие заголовки...ммм...не знаю...у меня на руках голое задания...
|
| volvo |
Сообщение
#4
|
|
Гость |
Frozen83
Латинские символы строки преобразуются в верхний регистр элементарно при помощи ф-ии UpCase(Ch) - то есть пробегаешь по всей строке и меняешь s[i] на UpCase(s[i])... А вот кириллица - будет всегда привязана к кодировке. |
| Frozen83 |
Сообщение
#5
|
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Угу...тока вот я понять не могу никак...что это значит преобразовать к верхнему регистру? Какой будет результат после того как я поменяю s[i] на UpCase(s[i])... ?
|
| volvo |
Сообщение
#6
|
|
Гость |
Frozen83
Запусти эту программу: Код var s: string; i: byte; begin readln(s); { допустим, 'start' } for i := 1 to length(s) do s[i] := upcase(s[i]); writeln(s); {'start' поменяется на 'START'} end. |
| Frozen83 |
Сообщение
#7
|
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Пасибки :-)
|
| Frozen83 |
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Все же , как сделать если русские буквы надо преобразовать к верхнему регистру. Так думаю можно массив создать русского алфавита. Не понимаю как нужно определять латинская буква на входе или русская. Мне бы прогу ...
|
| volvo |
Сообщение
#9
|
|
Гость |
Frozen83
А самому подумать? Никак? Код Function UpperString(s: String): String; Var i: Byte; Begin For i := 1 To Length(s) Do If s[i] In ['a'..'z'] Then s[i] := UpCase(s[i]) Else If s[i] In ['а'..'п', 'р'..'я'] Then Begin { Если пришли сюда, то буквы - русские. Добавляй свой код по переводу кириллицы в верхний регистр } End; UpperString := s; End; Сообщение отредактировано: volvo - |
| Altair |
Сообщение
#10
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Вот процедура:
Код Function UpStr(S:String):String; {перевод строки в верхний регистр} Var I:Byte; Begin For I:=1 To ORD(S[0]) Do Begin Case S[I] Of 'a'..'z':S[I]:=Chr(Ord(S[I])-$20); 'а'..'п':S[I]:=Chr(Ord(S[I])-$20); 'р'..'я':S[I]:=Chr(Ord(S[I])-$50) End End; UpStr:=S End; Предпочитаю пользовыаться всегда ей, она САМАЯ быстрая. Взято из хакерской проги для взлома PWL виндовса, 10 лет назад! так что это раритет! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
|
Текстовая версия | 7.11.2025 17:59 |