Другие языки программирования и технологии
Написать функцию
Написать функцию, которая в строке, переданной в качестве аргумента, изменяет на противоположный регистры всех символов (символов (например, для строки "Lower OR Upper" должны получить "lOWER or uPPER").
Pascal, Delphi,.. любой паскаль, только латинские буквы:
program N71608241;
function ChangeCase(s:string):string;
var i:integer;
Result:string; {в Delphi эта строка необязательна}
begin
Result := '';
for i := 1 to length(s) do
if s[ i ] in ['A' .. 'Z', 'a' .. 'z'] then
Result := Result + chr(ord(s[ i ]) xor $20)
else
Result := Result + s[ i ];
ChangeCase := Result
end;
var s:string;
begin
writeln('Введите строку: ');
readln(s);
writeln(ChangeCase(s));
readln
end.
program N71608241;
function ChangeCase(s:string):string;
var i:integer;
Result:string; {в Delphi эта строка необязательна}
begin
Result := '';
for i := 1 to length(s) do
if s[ i ] in ['A' .. 'Z', 'a' .. 'z'] then
Result := Result + chr(ord(s[ i ]) xor $20)
else
Result := Result + s[ i ];
ChangeCase := Result
end;
var s:string;
begin
writeln('Введите строку: ');
readln(s);
writeln(ChangeCase(s));
readln
end.
Смотря на каком языке. На Delphi это делается легко, путём перебора строкового массива по буквам.
Function zfCaseBL(St As String) As String
Dim i As Long, St1 As String * 1
For i = 1 To Len(St)
St1 = Mid(St, i, 1)
If St1 = LCase(St1) Then St1 = UCase(St1) Else St1 = LCase(St1)
zfCaseBL = zfCaseBL & St1
Next i
End Function
Dim i As Long, St1 As String * 1
For i = 1 To Len(St)
St1 = Mid(St, i, 1)
If St1 = LCase(St1) Then St1 = UCase(St1) Else St1 = LCase(St1)
zfCaseBL = zfCaseBL & St1
Next i
End Function
string InvertCase(string s)
{
return new string(
s.Select(p => char.IsLetter(p) ? (char.IsUpper(p) ? char.ToLower(p) : char.ToUpper(p)) : p).ToArray()
);
}
{
return new string(
s.Select(p => char.IsLetter(p) ? (char.IsUpper(p) ? char.ToLower(p) : char.ToUpper(p)) : p).ToArray()
);
}
var
s: string;
function otr(s: string): string;
var
i, j: integer;
begin
for i := 1 to length(s) do
begin
if upcase(s[ i ]) <> s[ i ] then s[ i ] := upcase(s[ i ]) else
for j := ord(s[ i ]) to 255 do if upcase(chr(j)) = s[ i ] then s[ i ] := chr(j);
end;
otr := s
end;
begin
writeln('Введите строку: ');
readln(s);
writeln(otr(s));
end.
s: string;
function otr(s: string): string;
var
i, j: integer;
begin
for i := 1 to length(s) do
begin
if upcase(s[ i ]) <> s[ i ] then s[ i ] := upcase(s[ i ]) else
for j := ord(s[ i ]) to 255 do if upcase(chr(j)) = s[ i ] then s[ i ] := chr(j);
end;
otr := s
end;
begin
writeln('Введите строку: ');
readln(s);
writeln(otr(s));
end.
Проще взять и застрелиться!
какой язык?
Похожие вопросы
- С++.Дан одномерный числовой массив. Написать функции.
- Как написать функцию 1+4=5 в C\с++
- не очень сложная прога на c++ не робит: Написать функцию, сравнивающую площадь двух треугольников, по координатам их вер
- Как написать функцию возведения квадратной матрицы в степень? Язык Паскаль
- Напишите функцию, которая возвращает среднее арифметическое целых чисел i, j,k,m
- как написать функцию на языке С если
- Написать функцию, вычисляющую произведение элементов массива, расположенных между первым и вторым нулевым элементам
- Помогите пожалуйста написать функцию в VBA
- Написать реализацию перегруженных функций: int func (int * arr, int length); int func (double * arr, int length);
- C++ Везде написано, что sizeof() с массивом в качестве аргумента возвращает полный размер. А в данной функции не так.