Очень часто на собеседованиях задают один вопрос по алгоритмике: Как поменять местами содержимое двух переменных не используя третьей?
Итоговый код на Objective C выглядит так:
int v1,v2;
v1=5;
v2=6;
NSLog(@»Было %i i %i»,v1,v2);
v1=v1+v2;
v2=v1-v2;
v1=v1-v2;
NSLog(@»Стало %i i %i»,v1,v2);
Чистая математика. Вот только поменять так можно только числа. А строки и обьекты увы нельзя.
4 комментария
Строки разве нельзя точно также — склеить в одну, потом отрезать часть в одну переменную, остаток во вторую… 🙂
А где хранить сколько отрезать:)?
Вот пример на 1С, уж извиняйте за язык 🙂
а = «Привет»;
б = «Пока»;
а = а + б; //ПриветПока
б = Лев(а,СтрДлина(а)-СтрДлина(б)); //Привет
а = Прав(а,СтрДлина(а)-СтрДлина(б)); //Пока
Супер, что сказать