Guest User

Untitled

a guest
Nov 5th, 2013
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.41 KB | None | 0 0
  1. #include<iostream>
  2. struct pitici{
  3.     float inaltime;
  4.     int greutate;
  5. };
  6. pitici v[50];
  7. int n;
  8. using namespace std;
  9. void citire(){
  10.     cout<<"Scrie numarul de pitici:";
  11.     cin>>n;
  12.     for(int i=0;i<n;i++)
  13.     {
  14.        cout<<"Scrie inaltimea piticului "<<i+1<<" :";
  15.        cin>>v[i].inaltime;
  16.        cout<<"Scrie greutatea piticului "<<i+1<<" :";
  17.        cin>>v[i].greutate;
  18.     }
  19. }
  20. int prim(int x){
  21.     for(int i=2;i<x/2;i++)
  22.         if(x%i==0)
  23.             return 0;
  24. return 1;
  25. }
  26. void g_prim(){
  27.     cout<<endl;
  28. for(int i=0;i<n;i++)
  29.   if(prim(v[i].greutate))
  30.      cout<<v[i].inaltime<<","<<v[i].greutate<<endl;  
  31. }
  32. void prieteni(){
  33.     cout<<endl;
  34.     for(int i=0;i<n;i++)
  35.         for(int j=0;j<n;j++)
  36.             if(v[i].greutate<v[j].greutate)
  37.                 cout<<v[i].inaltime<<","<<v[i].greutate<<"-->"<<v[j].inaltime<<","<<v[j].greutate<<endl;
  38. }
  39. void groapa(){
  40.     int m,aux,min,i,j;
  41.     float s=0,aux2;
  42.     cout<<endl;
  43.     cout<<"Scrie adancimea:";cin>>m;
  44.     //sorteaza descrescator
  45.     for(i=0;i<n;i++)
  46.         for(j=0;j<n;j++)
  47.             if(v[i].greutate<v[j].greutate)
  48.             {
  49.                 aux=v[i].greutate;
  50.                 v[i].greutate=v[j].greutate;
  51.                 v[j].greutate=aux;
  52.                 aux2=v[i].inaltime;
  53.                 v[i].inaltime=v[j].inaltime;
  54.                 v[j].inaltime=aux2;
  55.             }
  56.             //cautam cel mai slab pitic care greut numar prim
  57.             min=999;
  58.             aux=0;
  59.             /*!for(i=0;i<n;i++)
  60.                 s+=v[i].inaltime;*/
  61.                 /*!if(v[i].greutate<min&&prim(v[i].greutate)){
  62.                     aux=i;
  63.                    min=v[i].greutate;
  64.                 }*/
  65.                 //s=v[aux].inaltime;
  66.                 //cout<<aux<<endl;
  67.             i=n-1;
  68.             while(s<m){
  69.                 s+=v[i].inaltime;
  70.             i--;
  71.             }
  72.                         cout<<v[i].inaltime<<","<<v[i].greutate<<endl;
  73.                         i++;
  74.             while(s>=m&&i>0){
  75.                     cout<<v[i].inaltime<<","<<v[i].greutate<<endl;
  76.                            
  77.                             s-=v[i].inaltime;
  78.                             i++;
  79.             }
  80. }
  81. int meniu(){
  82.     int optiune;
  83.     cout<<endl;
  84.     cout<<"+++++++++++++++++++++"<<endl;
  85.     cout<<"1) Prim "<<endl;
  86.     cout<<"2) Prieten "<<endl;
  87.     cout<<"3) Groapa "<<endl;
  88.     cout<<"0) Iesire "<<endl;
  89.     cout<<"+++++++++++++++++++++"<<endl;
  90.     cout<<"Scrie optiunea ta:";
  91.     cin>>optiune;
  92.     switch(optiune){
  93.     case 1:
  94.         cout<<"PRIMI:"<<endl;
  95.         g_prim();
  96.         return 1;
  97.         break;
  98.     case 2:
  99.         cout<<"Prieteni:";
  100.         prieteni();
  101.         return 1;
  102.         break;
  103.     case 3:
  104.          cout<<"groapa";
  105.          groapa();
  106.          return 1;
  107.          break;
  108.     case 0:
  109.         cout<<"iesire";
  110.         return 0;
  111.         break;
  112.      default:
  113.        cout<<"scrie o optiune din lista";
  114.     }
  115. }
  116. int main(){
  117.     citire();
  118.     while(meniu());
  119.     return 0;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment