Funkcja liniowa używając wskaźników, referencji, przekazywania przez wartość, oraz przeładowania.

0

Siema! Napisałem program liczący równanie liniowe, jednak muszę użyć przekazywania przez wartość, wskaźników, referencji oraz przeładowania funkcji (wszystko musi być zawarte w programie, niestety), a nie za bardzo wiem jak to zrobić, czy mógłbym liczyć na Waszą pomoc oraz wytknięcie mi błędów (wiem, że takowe są) Przesyłam niżej kod.

#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
using namespace std; 	

void row_lin(int moja )
{
	switch(moja)
		{
			case 1: cout<<"Rownanie Tozsamosciowe"<<endl; break;
			case 2: cout<<"Rownanie Sprzeczne"<<endl; break;
			case 3: cout<<"x= "<<endl; break;
		}
}


int main ()
{
	int a,b,x;
	cout<<"Podaj a"<<endl;
	cin>>a;
	cout<<"Podaj b"<<endl;
	cin>>b;
	if (a==0)
		if(b==0)
			cout<<"Rownanie Tozsamosciowe"<<endl;
		else
			cout<<"Rownanie sprzeczne"<<endl;
	else
		{
			x=-b/a;
			cout<<"x= "<<x<<endl;
		}
	return(0);
} 
0

Na siłę możesz wskaźniki i referencje wcisnąć w ten sposób:

int a;
int& b = a;
int* c = &b;
scanf("%d", c);
b *= 2;
a += 1;
printf("%d\n", *c);

Tutaj możesz przetestować: http://ideone.com/0kFovN

0

Durne, ale jakie polecenie takie rozwiązanie. Przekazanie przez wartość już masz

void row_lin(int moja)

Pozostaje przez referencję i wskaźnik, przy okazji przeciążając funkcję:

void wczytaj(int& a)
{
    cout << "Podaj a" << endl;	
    cin >> a;
}

void wczytaj(int* b)
{
    cout << "Podaj b" << endl;	
    cin >> *b;
}

int main()
{
    int a, b, x;
    wczytaj(a);
    wczytaj(&b);
    ...

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