logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Dodawanie macierzy w c++. Napisanie funkcji - użycie operatora.

Qubikk0 28 Kwi 2011 18:28 3818 6
  • #1 9448470
    Qubikk0
    Poziom 9  
    Posty: 25
    Witam mam taki problem mam napisać funkcję dodającą do siebie 2 macierze używając operatora.

    Wiem że powinienem to napisać na 2 pętlach for ale nie bardzo wiem jak to powinienem napisać, to co napisałem jeśli chodzi o dodawanie nie działa jak powinno. To co mam już napisane wygląda następująco:


    macierz.h

    Kod: text
    Zaloguj się, aby zobaczyć kod

    macierz.cpp

    Kod: text
    Zaloguj się, aby zobaczyć kod


    main.cpp


    Kod: text
    Zaloguj się, aby zobaczyć kod


    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. - arnoldziq
  • #2 9448799
    mungo
    Poziom 19  
    Posty: 315
    Pomógł: 24
    Ocena: 24
    A nie prościej zrobić vector vectorów niz bawic sie z tymi wskaznikami na wskaźnik? Coś w tym stylu...

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #3 9448881
    Qubikk0
    Poziom 9  
    Posty: 25
    może i prościej ale słabo orientuję się w wektorach po drugie wymagane jest użycie operatora(to nie mój wymysł tylko prowadzącego) i pozostawienie to w takie formie jak jest
  • #4 9450049
    mungo
    Poziom 19  
    Posty: 315
    Pomógł: 24
    Ocena: 24
    hmm... a co wektory maja do operatorów??
    Chyba tutaj masz błąd!!

    Qubikk0 napisał:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Bardziej coś takiego powinno być, niestety niemam kompilatora tak ze niemam jak sprawdzić

    Kod: text
    Zaloguj się, aby zobaczyć kod


    A tak z ciekawości PWR??
  • #5 9450661
    Qubikk0
    Poziom 9  
    Posty: 25
    tak pwr

    Jak wrzuciłem to co napisałeś to program się skompilował, ale nie dodaje macierzy tylko zwraca pierwszą wpisaną macierz. Próbowałem pokombinować jeszcze nad zwracaniem ale wtedy program się nie kompiluje, tyle mam w tej chwili


    Kod: text
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #6 9452078
    mungo
    Poziom 19  
    Posty: 315
    Pomógł: 24
    Ocena: 24
    Się tak przyjrzałem lepiej temu twojemu programowi... i on raczej nadaje się do napisania od nowa, cout w przeciążeniu wyjscia!? konstruktor kopiujacy jest niepotrzebny kompilator niejawnie go tworzy, do sekcji prywatnej raczej powinno się dostawać tylko poprzez odpowiednie metody, po kompilacji w konsoli nie wiadomo o co chodzi i co jest wypisywane jest jeszcze parę rzeczy, ogólnie cienko cienko...
    Zaraz jak uda mi się załatwić jakiś kompilator napisze ci to przeciążenie operatora +.

    //zmiana
    Dodał byś jeszcze sprawdzenie czy dodawane macierze sa tego samego rozmiaru bo ci się program moze wysypac!!

    tutaj masz gotowe w pełni działające, sprawdzone przeciążenie + :)
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #7 9454112
    Qubikk0
    Poziom 9  
    Posty: 25
    cout w przeciążeniu zostało narzucone odgórnie tak jak i konstruktor kopiujący, miał być w sumie po to żeby sprawdzić czy potrafimy napisać te 2 rzeczy a przynajmniej tak mi się wydaje.

    Dziękuje bardzo za pomoc, dodawanie działa odejmowanie także po minimalnej zamianie. teraz tylko trochę zabawy żeby program się nie wysypał jak wprowadzi się złe wielkości i będzie cacy

Podsumowanie tematu

✨ Użytkownik ma problem z napisaniem funkcji w C++ do dodawania dwóch macierzy przy użyciu operatora. Wskazówki dotyczące użycia wskaźników oraz wektorów zostały zaproponowane, jednak użytkownik preferuje pozostać przy wskaźnikach z powodu wymagań prowadzącego. W odpowiedziach zasugerowano poprawki do implementacji operatora dodawania, w tym konieczność sprawdzenia, czy dodawane macierze mają ten sam rozmiar. Ostatecznie, po kilku próbach, użytkownik uzyskał działającą wersję funkcji, która poprawnie dodaje macierze oraz obsługuje odejmowanie.
REKLAMA