Софтуерно Инженерство
Loading...
+ Нов въпрос
Nukem avatar Nukem 6 Точки

XOR_swap_algorithm.

Пробвам да направя да въвеждаш и да разменя числата, дадох му да използва unsafe code, обаче пак не иска? Някой може ли да ми покаже къде бъркам?

Тагове:
TeodorTodorov avatar TeodorTodorov 27 Точки

  int x = int.Parse(Console.ReadLine());
int y = int.Parse(Console.ReadLine());
x ^= y;
y ^= x;
x ^= y;
Console.WriteLine(x);
Console.WriteLine(y);

0
TeodorTodorov avatar TeodorTodorov 27 Точки

{

   int a = int.Parse(Console.ReadLine());
   int b = int.Parse(Console.ReadLine());
   Swapper(a, b);
}


static void Swapper (int x, int y)
{
   x ^= y;
   y ^= x;
   x ^= y;
   Console.WriteLine(x);
   Console.WriteLine(y);
}

0
Nukem avatar Nukem 6 Точки

благодаря!

0
mzografski avatar mzografski 190 Точки

Като цяло не си дефинирал правилно променливите. Ако искаш да ги ползваш като пойнтър типове трябва да ги зададеш така :

 int* x = .....

int* y = ......

Освен това мисля че не е необходимо да ги подаваш като параметри на мейн метода.

Защото те идват от четене на конзолен вход.
Това виждам аз като проблеми.

 Пойнтър обекти в msdn.

А защо си решил да го правиш така?

1
beBoss avatar beBoss 513 Точки

Ами и да не прочетеш грешките, се вижда, че в кода нещо не е наред. Подреди си го малко, поизтрии разни скоби и пробвай пак.

 

static void XorSwap(ref int x, ref int y)
{
  if (x != y)
  {
     x ^= y;
     y ^= x;
     x ^= y;
  }

Методите се пишат с главна буква.

2
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Ако искаш да видиш самият XOR algotitm какво прави съм го обяснил в една от темите. По принцип самата операция си е доста интересна :) Успех!

0