Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2013, 16:00   #1
dima1257
Пользователь
 
Аватар для dima1257
 
Регистрация: 16.11.2012
Сообщений: 66
По умолчанию Перевод строки из нижнего регистра в верхний.

PHP код:
const
     
upper 'A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z';
     
lower 'a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z';

var
   
line:string;
   
countlitter:integer;
Begin
     writeln
('Ввод строки');
     
readln(line);
     for 
count:= 1 to length(line) do
         if (
line[count] >= 'a') and (line[count] <= 'z'then
            
for litter:= 1 to 26 do
                if 
line[count] = lower[litterthen
                   line
[count]:= upper[litter];
     
writeln('Преобразованная строка ');
     
writeln(line);
end

Исходная строка
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

Преобразованная строка
A, B, C, D, E, F, G, H, I, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

Скажите пожалуйста почему преобразовывает только до j?
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.
dima1257 вне форума Ответить с цитированием
Старый 04.12.2013, 16:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

потому что у Вас в строке ещё и пробелы и запятые, которые там нафик не нужны!

задайте строки так:
Код:
const
     upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
     lower = 'abcdefghijklmnopqrstuvwxyz';
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.12.2013, 16:24   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Или так :
Код:
 for litter:= 1 to Length(lower) do
И кстати, такого красивого кода и такого адекватного поста я давно не видел..

Последний раз редактировалось Poma][a; 04.12.2013 в 16:29.
Poma][a вне форума Ответить с цитированием
Старый 04.12.2013, 16:32   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А что так сложно, глянул по справке фри паскаля есть UpperCase и LowerCase. И даже AnsiUpperCase с AnsiLowerCase. upcase еще
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.12.2013, 16:32   #5
dima1257
Пользователь
 
Аватар для dima1257
 
Регистрация: 16.11.2012
Сообщений: 66
По умолчанию

спасибо. Я всё понял.
Этот пример мне дал мой препод и только сейчас я понял насколько он бесполезен.

Код:
const
     upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
     lower = 'abcdefghijklmnopqrstuvwxyz';

var
   line:string;
   count, litter:integer;
Begin
     writeln('Ввод строки');
     readln(line);
     for count:= 1 to length(line) do
         if (line[count] >= 'a') and (line[count] <= 'z') then
            for litter:= 1 to length(line) do
                if line[count] = lower[litter] then
                   line[count]:= upper[litter];
     writeln('Преобразованная строка ');
     writeln(line);
end.
Ввод строки
abcdefghijklmnopqrstuvwxyz

Преобразованная строка
ABCDEFGHIJKLMNOPQRSTUVWXYZ

Ввод строки
qwe asd zxc
Преобразованная строка
qwE AsD zxC
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.
dima1257 вне форума Ответить с цитированием
Старый 04.12.2013, 16:33   #6
dima1257
Пользователь
 
Аватар для dima1257
 
Регистрация: 16.11.2012
Сообщений: 66
По умолчанию

Глянуть функцию в справке, заюзать гуглояндекс это не проблема. Проблема разобраться в говнокоде препода, а потом еще и ответить по нему что нибудь.
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.
dima1257 вне форума Ответить с цитированием
Старый 04.12.2013, 16:35   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Ввод строки
qwe asd zxc
Преобразованная строка
qwE AsD zxC
не понял. Это как?!
должно быть
QWE ASD ZXC
не?

Вы же НЕВЕРНО восприняли совет от Poma][a

смотрите.
у него:
Цитата:
Код:
for litter:= 1 to Length(lower) do
у Вас:
Цитата:
Код:
for litter:= 1 to length(line) do
Ошибку сами найдетё? Или подсказать?!!

Последний раз редактировалось Serge_Bliznykov; 04.12.2013 в 16:38.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.12.2013, 16:37   #8
dima1257
Пользователь
 
Аватар для dima1257
 
Регистрация: 16.11.2012
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
не понял. Это как?!
должно быть
QWE ASD ZXC
не?
Да. должно быть так, но почему то оно не так)
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.
dima1257 вне форума Ответить с цитированием
Старый 04.12.2013, 16:39   #9
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
глянул по справке фри паскаля
Она на инглише
И еще её прикрутичивать замаешься..
Цитата:
qwE AsD zxC
Не правда Ваша..
Poma][a вне форума Ответить с цитированием
Старый 04.12.2013, 16:41   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пост #7 я дописывал. читаем внимательно!!



p.s. лучше бы Вы уж оставили for litter:= 1 to 26 do, если не разобрались, что это за цикл и почему там именно 26!!!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать все буквы нижнего регистра в буквы верхнего регистра druger Помощь студентам 5 18.09.2011 17:27
Перевод в верхний индекс первого символа Aleksandr Общие вопросы Delphi 10 12.09.2011 23:39
верхний регистр строки делфи BAMbarBIO Компоненты Delphi 9 21.06.2011 19:10
[C][unicode] Преобразование регистра строки int Помощь студентам 1 15.02.2010 08:46
Перевод имени в верхний регистр MalCer Общие вопросы Delphi 6 31.03.2009 13:14