Funkcja zamieniająca miejscami wartości podanych zmiennych

0

Witam mam taki problem w szkole zadali takie zadanko:

Napisz funkcje która zamieni miejscami wartości podanych zmiennych tego samego typu.

Mógłby ktoś doradzić ?

Z góry dziękuję.

0
#include <iostream>

using namespace std;

void zamien(double& a, double& b)
{
double tymczasowa(a);
a = b;
b = tymczasowa;
}

int main()
{
double a(1.2), b(4.5);

cout << "wartosc a: " << a << ", wartosc b: " << b << endl;

zamien(a,b);

cout << "wartosc a: " << a << ", wartosc b: " << b << endl;
return 0;
}

Nie no żartuje, zajmę się tym swapem, dzięki :D

0

Działa :)

#include <iostream>

using namespace std;

int main()
{
    int a = 42, b = 74;

    cout << "wartosc zmiennej a: " << a << ", wartosc zmiennej b: " << b << '\n';

    swap( a, b );

    cout << "wartosc zmiennej a po zamianie: " << a << ", wartosc zmiennej b po zamianie: " << b << '\n';

    return 0;
}

Teraz mam ciąg dalszy zadania i nie wiem jak zrobić:
"Napisz funkcję tak, aby można było jej użyć dla różnych typów zmiennych (obie zmienne dalej są tego
samego typu, ale ten typ może być różny)"?

2
  1. powinieneś dać include <algorithm>
  2. swap z std:: ogarnia różne typy bo jest generyczny.
  3. W linku który podałem masz przykładowe źródło funkcji swap...
template <class T> 
void swap ( T& a, T& b )
{
  T c(a); 
  a=b; 
  b=c;
}
0

A jak jest użyta przestrzeń nazw std:: i wpisuję samo swap to już nie jest generyczny ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1