• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Konstruktor i Destruktor z uzyciem tablic C++

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
850 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez jkiesiak Nowicjusz (120 p.)

Czesc ucze sie programowania powoli, c++. Potrzebuje pomocy z konstruktorem i destruktorem. Oto mój kod: 

 

MAIN :

  1. #include <iostream>
  2. #include "macierz.h"
  3. using namespace std;
  4. //class Macierz;
  5. int main()
  6. {
  7.     Macierz m1(1,1,1,1,1,1,1,1,1);
  8.     m1.wczytaj();
  9.     m1.oblicz();
  10.     m1.wypisz();
  11.  //   cout << "Hello world!" << endl;
  12.     return 0;
  13. }

 

teraz macierz.h

 

  1. #include <iostream>
  2. class Macierz{
  3.     //atrybuty
  4.     int tab[8];
  5.     int wyz;
  6.     int pom1,pom2;
  7. public:
  8.     //metody
  9.     //Macierz(int=1,int=1,int=1,int=1,int=1,int=1,int=1,int=1,int=1);
  10.     Macierz(int,int,int,int,int,int,int,int,int);
  11.     ~Macierz();
  12.     void wczytaj();
  13.     void oblicz();
  14.     void wypisz();
  15. };

 

i teraz macierz.cpp

 

  1. #include <iostream>
  2. #include "macierz.h"
  3. using namespace std;
  4. class Macierz;
  5. void Macierz::wczytaj(){
  6.     cout<<"Wpisz macierz od 0 do 8"<<endl;
  7.     for( int i=0; i<9; i++){
  8.         cout<<"Komorka "<<i<<" ="<<endl;
  9.         cin>>tab[i];
  10.     }
  11. }
  12. void Macierz::oblicz(){
  13.     cout<<"Obliczam wyznacznik";
  14.     pom1=(tab[0]*tab[4]*tab[8])+(tab[1]*tab[5]*tab[6])+(tab[2]*tab[3]*tab[7]);
  15.   //  cout<<"Pom1 wynosi = "<<pom1<<endl;
  16.     pom2=(tab[2]*tab[4]*tab[6])+(tab[0]*tab[5]*tab[7])+(tab[1]*tab[3]*tab[8]);
  17.    // cout<<"Pom2 wynosi = "<<pom2<<endl;
  18.     wyz=pom1-pom2;
  19. }
  20. void Macierz::wypisz(){
  21.     cout<<"Wyznacznik wynosi = "<<wyz<<endl;
  22. }
  23. Macierz::Macierz (int mac[1],int mac[2], int mac[3],int mac[4],int mac[5], int mac[6],int mac[7],int mac[8], int mac[9]){
  24.     tab[0]=int mac[1];
  25.     //for(int k=0;k<10)
  26.     tab[1]=int mac[2];
  27.     tab[2]=int mac[3];
  28.     tab[3]=int mac[4];
  29.     tab[4]=int mac[5];
  30.     tab[5]=int mac[6];
  31.     tab[6]=int mac[7];
  32.     tab[7]=int mac[8];
  33.     tab[8]=int mac[9];
  34. }
  35. Macierz::~Macierz(){
  36.     cout<<"Zniszczono obiekt macierz";
  37. }

Debugger cały czas wyświetla błąd w macierz.cpp w 23 linijce 

1 odpowiedź

0 głosów
odpowiedź 3 stycznia 2016 przez Adriqun Początkujący (290 p.)
edycja 3 stycznia 2016 przez Adriqun
Po 23 linijce masz dziwny zapis: przypisujesz np dla tab[ 5 ] = int mac[ 6 ] ( tworzysz nowego int'a mac[ 6 ]? ), usuń inty kolejno dla tab'ow i powinno pomoc

Edit:

Możesz to zrobić tak:

1. W main'e przesyłasz tablice[ 10 ] do konstruktora, w pliku macierz.h zapisujesz Macierz::Macierz( int [] ), w pliku macierz.cpp zapisujesz Macierz::Macierz( mac[ 10 ] ) i przypisujesz np tab[ 1 ] = mac[ 2 ] itd

2. W main'e nie zmieniasz nic, w pliku macierz.h zapisujesz Macierz::Macierz( int, int, int, int, int, int, int, int, int, int ), w pliku macierz.cpp zapisujesz Macierz::Macierz( int mac, int mac1, int mac2, int mac3... int mac9 ) i przypisujesz np tab[ 1 ] = mac2;

Podobne pytania

0 głosów
2 odpowiedzi 297 wizyt
pytanie zadane 13 grudnia 2016 w C i C++ przez klap Początkujący (410 p.)
–4 głosów
0 odpowiedzi 512 wizyt
pytanie zadane 17 października 2017 w C i C++ przez p1erut Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 318 wizyt
pytanie zadane 14 sierpnia 2020 w C i C++ przez lujasjeden Użytkownik (860 p.)

93,187 zapytań

142,203 odpowiedzi

322,017 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1901p. - Mikbac
  12. 1806p. - Dawid128
  13. 1744p. - rafalszastok
  14. 1734p. - Anonim 3619784
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...