Главная страница
    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.008 c
1-96796
Dimka!
2003-01-21 21:34
2003.01.30
Вывести слово в позиции X,Y???


1-96677
Opryshok
2003-01-19 23:39
2003.01.30
Если я унаследовал одну форму от другой, то ...


14-97009
Дмитрий К.К.
2003-01-13 06:54
2003.01.30
Именинники 13 января


1-96879
New Guy
2003-01-21 13:11
2003.01.30
ReadLn


1-96653
BubbleGum
2003-01-21 11:51
2003.01.30
Подскажите начинающему в Interbase толковую книгу





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский