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

Odpowiedz Nowy wątek
2015-01-20 18:22
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);
} 

Pozostało 580 znaków

2015-01-21 00:46
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


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 4x, ostatnio: krwq, 2015-01-21 00:49

Pozostało 580 znaków

2015-01-21 00:56
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);
    ...
Tak na prawdę to tutaj: void wczytaj(int* b) przekazujesz wskaźnik przez wartość... - krwq 2015-01-21 01:06
No żadne inne przekazywanie "przez wskaźnik" nie przychodzi mi do głowy. - twonek 2015-01-21 01:12
ja bym powiedział, że to dwa punkty naraz spełnia - krwq 2015-01-21 01:24
patrząc na polecenie zadania, nie ryzykowałbym :D - twonek 2015-01-21 01:28
Swoją drogą, to uważam, że kod bez wskaźników jest najlepszy :D więcej z nimi problemu jak pożytku (z reguły), aczkolwiek przyznam, że fajnie się czasami bawi wskaźnikami - krwq 2015-01-21 01:41
W 100% się zgadzam. Tutaj na forum jak ktoś pyta o wskaźniki to nawet dobrze się bawię szukając błędu, natomiast w pracy jak trafiam na legacy code w C ze wskaźnikami, i to 2- lub 3-ego stopnia, to krew mnie zalewa. - twonek 2015-01-21 01:50

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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