|
Titlul: Problema divide et impera Scris de: Catalin din Aprilie 25, 2014, 09:12:06 Salut, sunt clasa a 11-a si as vrea sa invat cum functioneaza divide et impera mai bine:
Citat #include<iostream> // prodsul numerelor using namespace std; int n; void(divizeaza(int s,int d,int &m) { cout<<"Acum sunt la divizeaza iar s="<<s<<" d="<<d<<" m="<<m<<"\n"; m=s+d/2; cout<<m<<"="<<s<<"+<<d<<"\2"<<"\n"; } void combina(int x,int y, int &z) // combina solutiile { cout<<"Acum sunt la combina iar x="<<x<<" y="<<y<<" z="<<z<<"\n"; z=x+y; cout<<z<<"="<<x<<"+"<<y<<"\n"; } void dei(int s, int d, int &z) { cout<<"Acum sunt la dei iar s="<<s<<" d="<<d<<" z="<<z<<"\n"; int m,x1,x2; // ce reprezinta m, x1, x2 si unde mai sunt folosite ? cout<<"dei iar m="<<m<<" x1="<<x1<<" x2="<<x2<<"\n"; if(s==d) { cout<<"s==d adevarat"<<"\n"; z=s*(s+1); cout<<"asa ca "<<z<<"="<<s"*"<<(s+1)<<; } else { cout<<"acum incepe sirul ala lung divizeaza, dei, dei, combina"; divizeaza (s,d,m); dei (s,m,x1); dei (m+1,d,x2); combina (x1,x2,z); } int main() { int i,z; cin>>n; cout<<"acum incepe programul principal iar i="<<i<<" n="<<n<<" si z="<<z<<"\n"; if(i=1;i<=n;i++) cin>>v; dei(1,n,z); cout<<"acum a iesit din subprograme"<<"\n"; cout<<z; return 0; } Scopul algoritmului este sa inmulteasca toate numerele prin divide et impera dar nu l-am facut bine, imi da cu eroare, ma puteti ajuta ? Spre exemplu o eroare imi spune ca "m" este declarat fara tip, nu inteleg la ce se refera ? Problema este facuta in MinGW. |