Interschimbarea a doua variabile in C++

Pentru a interschimba doua variabile exista mai multe metode.

Prima consta in folosirea unei variabile ajutatoare, pe care o utilizam pentru a salva temporar valoarea uneia dintre variabile. Dupa ce ii salvam valoarea, putem sa o suprascriem cu a doua variabila. La sfarsit punem valoarea initiala a primei variabile (salvata in ajutator) in a doua variabila. Pentru aceasta metoda, numita si metoda paharelor, codul este cel de mai jos:

Video de pe canalul nostru de YouTube in care explicam cum functioneaza interschimbarea valorii a 2 variabile prin metoda paharelor:

A doua metoda nu se foloseste de o variabila ajutatoare. Aici salvam suma celor doua variabile in prima dintre acestea (a = a + b) . Dupa care, vrem ca in a doua variabila sa fie valoarea primei. Deci vom scadea din suma (a + b), valoarea celei de-a doua variabile si o sa o obtinem pe prima (b = a  + b – b). Acum in b o sa fie valoarea initiala a lui a. Deci putem sa facem la fel si pentru a, ca sa obtinem b (a = a + b – a). Pentru aceasta metoda codul este mai jos:

A treia metoda se foloseste de operatiile pe biti. Ne aducem aminte de operatia xor (^). x ^ y = 1, daca si numai daca x este diferit de y. Cel mai usor de inteles metoda este folosind un exemplu vizual:

a = 00010010

b = 11010110

a = a ^ b -> a = 11000100

b = a ^ b -> b = 00010010

a = a ^ b -> a = 11010110

Dupa cate putem vedea, a si b au fost interschimbate.

Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem. Spor la lucuru 🙂

Rezolvari BAC informatica 2018

Mai jos puteti gasi rezolvate problemele din cadrul Examenului de Bacalaureat din anul 2018 precum si cele de la simularea de clasa a XII-a, sesiunea speciala dedicata olimpicilor si modelele de subiecte de BAC publicate in acest an.

 

Subiecte informatica 2018 – profilul Matematica informatica
Model subiect Subiectul al II-lea problema 4

Subiectul al II-lea problema 5

Subiectul al III-lea problema 3 Subiectul al III-lea problema 4
Simulare BAC Subiectul al II-lea problema 5 Subiectul al III-lea problema 3 Subiectul al III-lea problema 4
Sesiunea speciala Subiectul al II-lea problema 5 Subiectul al III-lea problema 3 Subiectul al III-lea problema 4
BAC iunie-iulie Subiectul al II-lea problema 5 Subiectul al III-lea problema 3 Subiectul al III-lea problema 4
Subiecte informatica 2018 – profilul Stiinte ale naturii
Model subiect Subiectul al III-lea problema 3 Subiectul al III-lea problema 4
Simulare BAC 2018 Subiectul al III-lea problema 3 Subiectul al III-lea problema 4