158 / 1 / 0
Регистрация: 14.09.2009
Сообщений: 58
1

Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы

08.03.2010, 21:06. Показов 5338. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с*заглавной буквы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2010, 21:06
Ответы с готовыми решениями:

Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы
Дана строка-предложение на латинском языке. Преобразовать строку так, чтобы каждое слово начиналось...

Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы
Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с...

Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы
Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с...

Превратить строку так, чтобы каждое предложение начиналось с заглавной буквы
Помогите Решить в Паскале. Превратить строку так, чтобы каждое предложение начиналось с заглавной ...

6
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
08.03.2010, 21:09 2
В этой теме написано как менять регистр букв.
Конвертация строк
В строке меняешь, если буква первая в строке, или перед ней пробел и она маленькая.
1
158 / 1 / 0
Регистрация: 14.09.2009
Сообщений: 58
10.03.2010, 00:23  [ТС] 3
не хотел создавать новую тему, так спрошу тут

составил прогу
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program zzz;
var s:string;
procedure bolshiebukvi(var s:string);
var i:integer;
begin
for i:=1 to length(s) do
if s[i] in ['à'..'ï'] then s[i]:=chr(ord(ord(s[i])-40))
else if s[i] in ['ð'..'ÿ'] then s[i]:=chr(ord(ord(s[i])-90))
else if s[i]='¸' then s[i]:='¨';
end;
begin
write ('Bilo');
Readln (s);
bolshiebukvi(s);
Writeln('Stalo ', s);
end.
но не могу понять куда нужно вписать пробел. А то программа как то криво пашет без него. Пробел нужен для того что бы каждое слово после него начиналось с заглавной буквы

Заранее спасибо)
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
10.03.2010, 07:02 4
Я понимаю что Вы не умеете писать программы, этого никто не умеет, но уметь читать Вы должны?
Я дал Вам ссылку на принцип конвертации. Откуда у Вас взялись числа -40 и -90? Там близко таких нет.
А зачем я писал это
В строке меняешь, если буква первая в строке, или перед ней пробел и она маленькая.
Короче ни украсть, ни покараулить.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program zzz;
uses crt;
const rb=['а'..'п','р'..'я','ё'];
function Up(c:char):char;
begin
if c in ['а'..'п'] then Up:=chr(ord(c)-32)
else if c in ['р'..'я'] then Up:=chr(ord(c)-80)
else if c='ё' then Up:='Ё';
end;
var s:string;
    i:byte;
begin
clrscr;
writeln('Bilo');
Readln (s);
for i:=1 to length(s) do
if (s[i] in rb)and((i=1)or(s[i-1]=' ')) then s[i]:=Up(s[i]);
writeln('Stalo ');
write(s);
readln
end.
Добавлено через 2 минуты
Цитата Сообщение от freek Посмотреть сообщение
chr(ord(ord(s[i])-40))
А это что за идиотская конструкция? Где Вы ее откопали. Вы хоть чуть догадываетесь, что тут написали? Ord(ord) номер от номера это круто.
1
158 / 1 / 0
Регистрация: 14.09.2009
Сообщений: 58
10.03.2010, 11:15  [ТС] 5
chr(ord(ord(s[i])-40
А это что за идиотская конструкция? Где Вы ее откопали. Вы хоть чуть догадываетесь, что тут написали? Ord(ord) номер от номера это круто.
Pascal
1
2
if s[i] in ['а'..'п'] then s[i]:=chr(ord(ord(s[i])-32))
else if s[i] in ['р'..'я'] then s[i]:=chr(ord(ord(s[i])-80))
В процедуре Upcaserus есть эта конструкция Конвертация строк
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
10.03.2010, 11:32 6
freek, Ты вообще отличаешь понятия замена всей строки на прописные буквы от замены отдельных символов. По ссылке заменяются все символы, поэтому там вся строка обрабатывается. Да и чисел -40 и -90 я там в упор не вижу.
0
158 / 1 / 0
Регистрация: 14.09.2009
Сообщений: 58
10.03.2010, 11:34  [ТС] 7
да, накрутил с числами
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2010, 11:34
Помогаю со студенческими работами здесь

Преобразовать каждое слово так, чтобы оно заканчивалось заглавной буквой
Дана строка слов, разделенных произвольным количеством пробелов, после последнего слова точка....

Преобразовать строку так, чтобы каждое слово было отражено зеркально
Дана строка, состоящая из слов. Преобразовать строку так, чтобы каждое слово было отражено...

Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы
А можно такое же задание только С++?

Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы
Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru