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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2011, 18:10   #1
(=Hello=)
Пользователь
 
Регистрация: 24.02.2011
Сообщений: 39
По умолчанию Строки

Как написать программу для преобразования заданной строки из строчных букв русского алфавита в строку из прописных букв. Например, если ввести "ссср" она должна вывести"СССР".


Заранее спасибо.
(=Hello=) вне форума Ответить с цитированием
Старый 24.02.2011, 18:28   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Язык какой?

Если Delphi, то функция: AnsiUpperCase
Ссылка "Основы Delphi" в самом верху каждой странички форума.
_Dmitry вне форума Ответить с цитированием
Старый 24.02.2011, 18:47   #3
(=Hello=)
Пользователь
 
Регистрация: 24.02.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от _Dmitry Посмотреть сообщение
Язык какой?

Если Delphi, то функция: AnsiUpperCase
Ссылка "Основы Delphi" в самом верху каждой странички форума.
Язык - Pascal
(=Hello=) вне форума Ответить с цитированием
Старый 24.02.2011, 20:17   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

задача может быть решена кучей способов!

вариант 1.
Код:
function UpperRus(s : string) : string;
const 
  LoRus = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
  UpRus : string = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
var i : integer;
begin
  for i:=1 to Length(s) do
    if Pos(s[i],LoRus)>0 then s[i] := UpRus[Pos(s[i],LoRus)]
    else s[i] := UpCase(s[i]);
  UpperRus := s
end;

begin
  Write(UpperRus('test is Only Best В чаще юга жил был цитрус!'));
  readln
end.
вариант 2.
см. тут - http://www.programmersforum.ru/showp...4&postcount=20


вариант 3.
Код:
function UpChar (c:char):char;
Label	U1,U2,U6;
begin
  asm
	MOV	AL,c
	CMP	AL,060h
	JNA	U6
        CMP     AL,07Ah
        JA	U1
	SUB	AL,20h
        JMP     U6
U1:	CMP	AL,09Fh
	JNA	U6
	CMP	AL,0AFh
	JA	U2
        SUB	AL,20h
        JMP     U6
U2:	CMP	AL,0DFh
	JNA	U6
	CMP	AL,0EFh
        JA	U6
        SUB	AL,50h
U6:     MOV     [BP-1],AL
  end;
end;

function Upper(s:string):string;
var i:byte;
begin
  for i:=1 to byte(s[0]) do s[i]:=UpChar(s[i]);
  Upper:=s;
end;


var
  s : string;
begin
  s := 'Маша добавляет в щи французский сыр CalaMber?';
  s := Upper(s);
  WriteLn(s);
end.

достаточно?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.02.2011, 21:16   #5
(=Hello=)
Пользователь
 
Регистрация: 24.02.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
задача может быть решена кучей способов!
...
достаточно?
Да, спасибо.



Убрал излишнее цитирование..

Последний раз редактировалось Serge_Bliznykov; 24.02.2011 в 21:54.
(=Hello=) вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны строки S и S0. Удалить из строки S все подстроки, совпадающие с S0 . Если совпадающих подстрок нет, Шпунюся Помощь студентам 1 16.12.2010 21:02
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Дбавление новой строки, после строки с подходящими параметрами RailOS Microsoft Office Excel 5 18.08.2010 10:12
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10