Главная
>>
Каталог задач
>>
Строки
>>
Переворот символов строки (или элементов одномерного массива)
Aвтор:
this
Дата:
24.12.2003
Просмотров: 113929
реализации(C++: 1шт...)
+добавить
Эта простенькая задача возникает иногда в более сложных алгоритмах.
Имеется, например, строка "qwerty". Нужно получить симметричное(зеркальное) отображение: "ytrewq"
Берем 2 индекса: начало и конец строки(одномерного массива). В цикле последовательно двигаем их друг к другу, меняя соответствующие элементы:
for i = 0 to n - 1 && j = n-1 downto 0
if i >= j
return
tmp = str[i]
str[i] = str[j]
str[j] = tmp
Реализации:
C++(1),
C#(3)
+добавить
1)
Симметричное (зеркальное) отображение фрагмента строки на C++, code #563[автор:Sergey]
#include <string.h>
int main()
{
char str[10] = "abcdef";
int slen = strlen(str);
for(int i=0;i<slen/2;i++)
{
str[i] = str[i] + str[slen-i-1];
str[slen-i-1] = str[i] - str[slen-i-1];
str[i] = str[i] - str[slen-i-1];
}
return 0;
}