Страница 3 из 3
Re: Требуется програмист со знанием алгоритмов
Добавлено: 12 ноя 2014, 13:17
WingRabbit
Ega23 писал(а):WingRabbit писал(а):Давайте еще алгоритмы пощелкаем, а?
Есть массив INT. Нужно перевернуть его (задом наперёд). Буферные переменные использовать низя..
a=a+b;
b=a-b;
a=a-b;
ну или в контексте данной задачи
Код: Выделить всё
for(int i=0; i<arr.lenth/2;i++)
{
arr[i] = arr[i] + arr[arr.length-i];
arr[arr.length-i] = arr[i]-arr[arr.length-i];
arr[i]=arr[i]-arr[arr.length-i];
}
Re: Требуется програмист со знанием алгоритмов
Добавлено: 12 ноя 2014, 13:18
SaaBaka
Ega23
Для обмена значений без буферной переменной обычно используется XOR swap: a=a^b; b=a^b; a=a^b.
Re: Требуется програмист со знанием алгоритмов
Добавлено: 12 ноя 2014, 13:19
WingRabbit
А, ну и должно быть arr.length-i-1, а то аут оф рейндж будет.
Re: Требуется програмист со знанием алгоритмов
Добавлено: 12 ноя 2014, 13:36
Ega23
WingRabbit писал(а):a=a+b;
И тот самый Rage Check Еггог.
Re: Требуется програмист со знанием алгоритмов
Добавлено: 12 ноя 2014, 13:37
Ega23
SaaBaka писал(а):Ega23
Для обмена значений без буферной переменной обычно используется XOR swap: a=a^b; b=a^b; a=a^b.
Я в курсе.
Re: Требуется програмист со знанием алгоритмов
Добавлено: 12 ноя 2014, 13:44
WingRabbit
Ega23 писал(а):WingRabbit писал(а):a=a+b;
И тот самый Rage Check Еггог.
Ну да, осознал)