Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Вниз

Переворот строки   Найти похожие ветки 

 
Sergei   (2003-01-20 12:21) [0]

Здравствуйте мастера
Понимаю, что вопрос может показаться достаточно глупым,но всё же
я начинающий пользоват Pascal
Как слелать переворот строки без использования дополнительного
буфера( т.е без доп переменной, или дополнительной позиции в строке)
и возможно ли такое
Спасибо ..


 
gsu   (2003-01-20 12:23) [1]

ну уж 1 то дополнительный символ вроде быть обязан


 
app   (2003-01-20 12:28) [2]

Что задание дали в институте, иначе трудно придумать реальное применение.


 
still   (2003-01-20 12:28) [3]

можно конечно так:

for i := Length(s) downto 1 do
s := s + s[i];

s := copy (s, length(s) div 2 +1, length(s) div 2);



 
gsu   (2003-01-20 12:36) [4]

>> still ©
copy - неужели в ней не используются дополнительные источники ?


 
still   (2003-01-20 12:41) [5]

я не знаю, как устроена copy внутри.
в явном виде не используются. я так понял вопрос по паскалю, не по внутреннему устройтву компилятора и встроенных функций.


 
still   (2003-01-20 12:43) [6]

можно без copy:
delete(s, 1, length(s) div 2);


 
Foxtrot   (2003-01-20 12:45) [7]

Я думаю, что невозможно.

Вот попробуй например сложить из детских кубиков слово "неполучится" а потом не доставая кубиков и не перемещая их сделать "ястичулопен".


 
gsu   (2003-01-20 12:47) [8]

>> still © (20.01.03 12:41)
>> я не знаю, как устроена copy внутри.
посмотри

>> в явном виде не используются. я так понял вопрос по паскалю, не по внутреннему >> устройтву компилятора и встроенных функций.
тут ты, скорее всего прав


 
still   (2003-01-20 12:51) [9]


> gsu © (20.01.03 12:47)
> >> still © (20.01.03 12:41)
> >> я не знаю, как устроена copy внутри.
> посмотри

где?


 
Sergei   (2003-01-20 12:55) [10]

Все всем спасибо
Особенно Still :-))


 
gsu   (2003-01-20 12:55) [11]

н-р, system._Copy


 
still   (2003-01-20 13:00) [12]

посмотрел.
ну естественно, в итоге используется дополнительный буфер. кто бы сомневался :)


 
MBo   (2003-01-20 13:16) [13]

rocedure TForm1.Button1Click(Sender: TObject);
var s:string;
i:integer;
begin
s:="abcde";
for i:=1 to Length(s) div 2 do begin
s[i]:=Chr(Ord(s[Length(s)-i+1]) xor Ord(s[i]));
s[Length(s)-i+1]:=Chr(Ord(s[Length(s)-i+1]) xor Ord(s[i]));
s[i]:=Chr(Ord(s[Length(s)-i+1]) xor Ord(s[i]));
end;
label1.caption:=s;
end;


 
Nikolay M.   (2003-01-20 13:19) [14]

?

var
s : string;
i : integer;
begin
s := "ABCDEFGАБВГДЕЖ";
for i := 1 to Length (s) div 2 do
begin
s[i] := Char(Byte(s[i]) + Byte(s[Length (s) - i + 1]));
s[Length (s) - i + 1] := Char(Byte(s[i]) - Byte(s[Length (s) - i + 1]));
s[i] := Char(Byte(s[i]) - Byte(s[Length (s) - i + 1]));
end;
end;


 
Nikolay M.   (2003-01-20 13:20) [15]


> MBo © (20.01.03 13:16)

На 3 минуты замешкался :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.014 c
3-96516
AM
2003-01-14 14:33
2003.01.30
Почему после сжатия базы я не могу его открыть?


1-96784
VinRaider
2003-01-16 23:37
2003.01.30
Изменение цвета Label или StaticText


4-97072
TankMan
2002-12-14 00:31
2003.01.30
Как быстрее всего сравнить содержимое двух TBitMap?


14-96950
Hot_Dog
2003-01-12 01:54
2003.01.30
!!!


3-96518
bilkm
2003-01-14 14:43
2003.01.30
Простой вопрос - Отмена действия навигатора





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский