Jump to content

seaza

Members
  • Posts

    18
  • Joined

  • Last visited

Everything posted by seaza

  1. seaza

    regula?

    sall. am o inmultire d matrici reprezentate ca vectori, si incercam sa gasesc o "regula" ptr inmultire. matrice operator*(matrice x) { matrice u; u.setLC(x.linii, coloane); int aux1=linii; int aux2=x.coloane; int aux3=coloane; int i, l, c; if(x.coloane==linii){ for(l=0; l<aux3; l++) { for(c=0; c<aux1; c++) { complex sum; for(i=0; i<aux2; i++) sum=sum+(v[l*aux2+i])*(x.v[i*aux1+c]); u.v[l*aux1+c]=sum; } } }else cout<<"EROARE"; return u; } unde v este: complex v[nrlin*nrcol], intr o clasa mostenita din complex, by default nrlin si nrcol sunt date cu #define nrlin 10, respc. #define nrcol 10 doar ca nu merge chiar asa bine...are cnva vreo mica idee unde e greseala ?
  2. seaza

    need help:d

    am o clasa complex ptr nr complexe, cu constructori, supraincarcarea op. +, -, *,<<, >>, cu de toate:D. treb' sa +, -, *, matrici de nr complexe memorate ca vectori. imi mai trebuie o clasa nush vector sa zicem, in care vreau din nou o supraincarcare a operatorilor >> si <<, sa apara cv de genul: linia1 coloana1 partea reala: partea imag: linia1 coloana2 .................. iar in main am cv de genul: vector A, B; A.setLinii(3); //metoda din clasa mostenita, vector A.setColoane(3); //metoda din clasa mostenita, vector cin>> A; cout<<A<<endl; B.setLinii(3); B.setColoane(3); cin>> B; cout<<B<<endl; vector C; C=A+B; cout<<C<<endl; //---------------- si la partea asta imi cam da cu virgula:-s o idee ar fi cv d genul: //la inceput am: //#define nrlin 1000 //#define nrcol 1000 class vector: public complex{ complex v[nrlin*nrcol]; int linii, coloane; public: vector(int n=0, int m=0){linii=n; coloane=m;} void setLinii(int L){linii=L;} void setColoane(int C){coloane=C;} int getLinii(){return linii;} int getColoane(){return coloane;} //metodele ptr +, - etc.. friend istream& operator >>(istream& , vector& ); friend ostream& operator <<(ostream& , vector ); ........... istream& operator>>(istream& IN, vector& W) { ....................... { cout<<"Linia "<<linii<<" Coloana "<<coloane<<" : "<<endl; ........................ } return IN; } nu prea am priceput cu "mostenirea ", so i need help, ce ar trebui in locul punctelor........ sau ma rog, alta idee daca are cineva?
  3. pai la o lista, poti efectua urmatoarele operatii: -accesul la oricare nod al listei in scopul citii sau modificarii informatiei continute de acesta -adaugarea unui nod, indiferent de pozitia pe care o ocupa in lista -stergerea unui element, indiferent de pozitia pe care o ocupa in lista -schimbarea pozitiei unui nod in cadrul listei. ex1: creaza o lista simplu inlantuita recursiv, si afieaza nodurile in ordinea in care au fost introduse #include<iostream> struct nod{ int info; nod* adr_urm; }; nod* v; nod* adaug() { nod* c; int nr; cout<<"dati numarul: "; cin>>nr; if(nr) { c=new nod; c->adr_urm=adaug(); c->info=nr; return c; } else return 0; } void tiparire(nod* v) { nod* c=v; while(c) { cout<<c->info<<endl; c=c->adr_urm; } } int main() { v=adaug(); tiparire(); } pentru listele dublu inlantuite, avantajul este ca le poti parcurge in ambele sensuri; operatii: -creare; adaugare la stanga, la dreapta, in interiorul listei; stergere la stanga, la dreapta, din interiorul listei,; listare de la stanga la dreapta, si invers. o coada este o lista pentru care toate inserarile sunt facute la unul din capete, toate stergerile la celalalt capat. #include<iostream.h> struct nod {int info; nod *next; }nod *v, *sf; //v=retine adresa elementului ce urmeaza a fi scos, iar sf=va retine adresa ultimului element introdus in coada int n; void push(nod *&v, nod *&sf, int n) { nod *c; if(!v) { v=new nod; v->info=n; v->next=0; sf=v; } else { c=new nod; sf->next=c; c->info=n; c->next=0; sf=c; } } void pop(nod *&v) { nod *c; if(!v) cout<<"coada este vida"; else { cout<<"am scos "<<v->info; c=v; v=v->next; delete c; } } void listare(nod *c) { nod *c=v; while(c) {cout<<c->info<<" "; c=c->next; //trec la urmatorul } cout<<endl; } main() { push(v, sf, 3; push(v, sf, 5); push(v, sf, 7); listare(v); pop(v); listare(v); //s.a.m. }
  4. seaza

    eroare la build

    dap... multime multime:: operator+(multime& m) { multime m1; int i; for(i=1; i<100; i++) m1.mult=mult | m.mult; return m1; } thks:D
  5. am urmatoarea eroare la build solution: error LNK2019: unresolved external symbol "public: class multime __thiscall multime::operator+(class multime &)" (??Hmultime@@QAE?AV0@AAV0@@Z) referenced in function _main codul este: //se genereaza doua multimi si se afiseaza reuniunea lor #include<iostream> #include "incapsulare_multimi.cpp" using namespace std; int main() { multime m, m1, m2; int i; m=m+15; m=m+7; m=m+23; m=17+m; m=m+799; m1=m1+11; m1=7+m1; m1=0+m1; m1=1+m1; m=m+m1; for(i=0; i<800; i++) if(m.in(i)) cout<<i<<" "; system("PAUSE"); return 0; } "incapsulare_multimi.cpp" class multime { char mult[100]; public: int i; multime(); int in(int n); multime operator+(multime& m); multime operator-(multime& m); multime operator*(multime& m); friend multime operator+(multime& m, int n); friend multime operator+(int n, multime& m); }; multime::multime() { for(i=0; i<100; i++) mult[i]=0; } int multime::in(int n) { unsigned char nr_bit=7-n%8, masca=1; int nr_octet=n/8; masca=masca<<nr_bit; if(mult[nr_octet] && masca) return 1; else return 0; } multime operator+(multime& m, int n) { multime m1=m; unsigned char nr_bit=7-n%8, masca=1; int nr_octet=n/8; masca=masca<<nr_bit; m1.mult[nr_octet]=m1.mult[nr_octet]|masca; return m1; } multime operator+(int n, multime& m) { multime m1=m; unsigned char nr_bit=7-n%8, masca=1; int nr_octet=n/8; masca=masca<<nr_bit; m1.mult[nr_octet]=m1.mult[nr_octet]|masca; return m1; } multime multime::operator-(multime& m) { multime m1; int i; for(i=0; i<100; i++) m1.mult[i]=m1.mult[i]& (mult[i]^m.mult[i]); return m1; } multime multime::operator*(multime& m) { multime m1; int i; for(i=0; i<100; i++) m1.mult[i]=mult[i] & m.mult[i]; return m1; } any ideas?
  6. seaza

    un mic ajutor?

    lucrez in visual studio, iar strcpy nu merge daca nu incluzi si header.ele d care zice @cmiN, si anume: #include <cstring> #include <cstdlib> ...de care eu uitasem:D iar in visual studio nu mai ai <__.h>, d asta folosisem strcpy_s.. greetings @cmiN!
  7. am urmatorul progr: #include<iostream> #include<string> using namespace std; class persoana { int varsta; public: char *pnume; persoana(char *n,int v):varsta(v) { pnume=new char[strlen("Anonim")+1]; strcpy_s(pnume, n); } int spune_varsta() { return varsta; } }; int main() { persoana p1("vasilache",45); persoana p2=p1;//apel constructor de copiere cout<<"\n"<<p1.pnume<<"are"<<p1.spune_varsta()<<"ani"; cout<<"\n"<<p2.pnume<<"are"<<p2.spune_varsta()<<"ani"; strcpy(p2.pnume,"Gigi"); cout<<"\n"<<p1.pnume<<"are"<<p1.spune_varsta()<<"ani"; cout<<"\n"<<p2.pnume<<"are"<<p2.spune_varsta()<<"ani"; system("PAUSE"); return 0; } am o eroare la linia 12.. ma ajuta cnva?
  8. probleme rezolvate pe C / C++ / C# - PC Troubleshooting ptr cei care vor mai multe, dati buzz: skyler_sdf@yahoo.com
  9. daca aici se pun progr. gen "copy-paste" si fara sa functioneze, pai atunci imi dau demisia si pun un link catre ...vxheavens de ex..DAR tot ce e acolo merge! so....
  10. seaza

    Salut

    hey bun venit:D e de ajuns sa stii pascal, si nu iti va veni foarte greu sa inveti C++...
  11. salutare tuturor!! foarte interesant aici la voi; am de gand sa raman ceva timp, mai ales ca aveti si un "colt al programatorilor"!
×
×
  • Create New...