Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream f("expresie.in");
- int a[100],b[100],n,m;
- int v[100],k;
- void citire(int a[], int &m, int b[],int &n)
- {f>>m>>n;
- for(int i=1;i<=m;i++)
- f>>a[i];
- for(int i=1;i<=n;i++)
- f>>b[i];
- }
- // functie de afisare ale ni vect V cu K elemente
- // va fii folosita pentru un vector cu k elemente
- //ch va contine o litera care reprezinta denumirea, sau denumirea numelui vectorului care se afiseaza;
- void afisare(int v[],int k,char ch)
- {cout<<"Elementele vectorului "<<ch<<" sunt: "<<endl;
- for(int i=1;i<=k;i++)
- cout<<v[i]<<" ";
- cout<<endl;
- }
- void ordonare(int v[], int k)
- {int ok,aux;
- do{
- ok=1;
- for(int i=1;i<=k-1;i++)
- if(v[i]>v[i+1])
- {aux=v[i];v[i]=v[i+1];v[i+1]=aux;ok=0;}
- }while(ok==0);
- }
- void greedy(int a[],int m,int b[],int n)
- { int e=0,i=1,j;
- //inmultesc perechi de numere negative
- while(a[i]<0 && b[i]<0 && i<=m)
- {cout<<a[i]<<" "<<b[i]<<endl;
- e=e+a[i]*b[i];
- i++;
- }
- //inmultesc perechi de numere pozitive
- i=m;
- j=n;
- while(a[i]>0 && b[j]>0 && i>=1)
- {e=e+a[i]*b[j];
- cout<<a[i]<<" "<<b[j]<<endl;
- i--;j--;
- }
- cout<<endl<<"Valoarea maxima a expresiei E, este: "<<e;
- }
- int main()
- {citire(a,m,b,n);
- afisare(a,m,'a');
- afisare(b,n,'b');
- ordonare(a,m);
- ordonare(b,n);
- cout<<endl<<"Dupa sortare"<<endl;
- afisare(a,m,'a');
- afisare(b,n,'b');
- cout<<endl;
- greedy(a,m,b,n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement