Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 26.12.2008, 00:27   #1 (permalink)
Bingooo
Новичок
 
Регистрация: 20.12.2008
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Вывести в алфавитном порядке все латинские буквы

Задана строка символов. Вывести в алфавитном порядке все латинские буквы, встречающиеся в строке. Все выводимые буквы преобразовать в прописные. Например, задана строка: «Я учусь программировать на turbo pascal». Результат работы программы: AABCLOPRSTU
Bingooo вне форума   Ответить с цитированием

Старый 26.12.2008, 00:27
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Так же на нашем форуме встречались темы, которые схожи с вашими

На клавиатуре перепутались буквы
Фамилии в алфавитном порядке
Напечатать в алфавитном порядке все глухие согласные буквы

Старый 26.12.2008, 00:30   #2 (permalink)
Bingooo
Новичок
 
Регистрация: 20.12.2008
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

надо написать в ПАСКАЛЕ!!
Bingooo вне форума   Ответить с цитированием
Старый 26.12.2008, 04:12   #3 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

А в чем проблема-то?
Алгоритм решения:
Строковой переменной присвойте строку из всех латинских символов
В цикле анализируйте каждый символ из этой строки и выстраивайте по порядку (можно заменой символов, можно введением новой строковой переменной, можно через массив)
Каждому элементу строки присвойте значение его символа в верхнем регистре
Выводите результат на экран.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 26.12.2008, 06:12   #4 (permalink)
Aleksan
IT - Specialist
 
Аватар для Aleksan
 
Регистрация: 08.12.2007
Сообщений: 6,815
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 6316
По умолчанию

:-D Эх, Алексей.... А решение - то где?
Пост #2 - в ПАСКАЛЕ!! ;-)
Aleksan вне форума   Ответить с цитированием
Старый 26.12.2008, 11:21   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Если еще не поздно, то вот. Отлажено.

VAR
i,j,k,j0,Lng,Lng1,Lng2,M:BYTE;
S,S1,S2:STRING;
BEGIN
Write('Input string = '); ReadLn(S);
Lng:=Length(S);
j:=0;
FOR i:=1 TO Lng DO
IF (ORD(S[i])>=65) AND (ORD(S[i])<=90) THEN
BEGIN
INC(j);
S1[j]:=S[i];
END ELSE
IF (ORD(S[i])>=97) AND (ORD(S[i])<=122) THEN
BEGIN
INC(j);
S1[j]:=CHR(ORD(S[i])-32);
END;
Lng1:=j;
FOR j:=1 TO Lng1 DO
WRITE(S1[j]);
WRITELN;
M:=255;
Lng2:=Lng1;
FOR i:=1 TO Lng1 DO
BEGIN
FOR j:=1 TO Lng2 DO
IF ORD(S1[j])<=M THEN
BEGIN
M:=ORD(S1[j]);
j0:=j;
END;
S2[i]:=S1[j0];
IF j0<Lng2 THEN
FOR k:=j0+1 TO Lng2 DO
S1[k-1]:=S1[k];
DEC(Lng2);
M:=255;
END;
FOR i:=1 TO Lng1 DO
Write(S2[i]);
READLN;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 09:44.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.