Advertisement
Dani_info

Tema 17.09.2019

Sep 17th, 2019
156
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. void nule (int[], int);
  7. void shift (int[], int);
  8. void  p (int[], int, int&, int&, int&);
  9.  
  10. int main()
  11. {
  12.     int pb;
  13.     cout<<"pb:"; cin>>pb;
  14.     switch(pb){
  15.         case 1:{//Var 20, Sub.3, Pb.3
  16.             int n;
  17.             cout<<"n="; cin>>n;
  18.             int v[n];
  19.             for (int i=0; i<n; i++) cin>>v[i];
  20.             nule (v, n);
  21.             for (int i=0; i<n; i++) cout<<v[i]<<" ";
  22.             break;
  23.         }
  24.         case 2:{//Var 23, Sub.3, Pb.3
  25.             int n, x;
  26.             cout<<"n="; cin>>n;
  27.             cout<<"x="; cin>>x;
  28.             int v[n], new_v[n];
  29.             for (int i=0; i<n; i++) cin>>v[i];
  30.             for (int i=0; i<n; i++) new_v[i]=v[i];
  31.             shift (v, x);
  32.             cout<<"Tabloul permutat este:"<<endl;
  33.             for (int i=0; i<n; i++) cout<<v[i]<<" ";
  34.             cout<<endl;
  35.             cout<<"Tabloul inversat este:"<<endl;
  36.             for (int i=0; i<n; i++)
  37.                 shift(new_v, n-i);
  38.             for (int i=0; i<n; i++) cout<<new_v[i]<<" ";
  39.             break;
  40.         }
  41.         case 3:{//Var 24, Sub.3, Pb.3
  42.             int n;
  43.             cout<<"n="; cin>>n;
  44.             int v[n];
  45.             for (int i=0; i<n; i++) cin>>v[i];
  46.             int maxi, mini, sum;
  47.             p(v, n, mini, maxi, sum);
  48.             cout<<"Suma elementelor este:"<<sum<<endl;
  49.             cout<<"Elementul maxim este:"<<maxi<<endl;
  50.             cout<<"Elementul minim este:"<<mini<<endl;
  51.             float ma=(sum-maxi-mini)*1.0/(n-2);
  52.             cout<<"Media aritmetica este:"<<ma;
  53.             break;
  54.         }
  55.     }
  56.     return 0;
  57. }
  58.  
  59. void nule (int v[], int n){
  60.     int k=n-1;
  61.     for (int i=0; i<n; i++)
  62.         if (v[i]==0 && i<k)
  63.             swap (v[i], v[k--]);
  64.     for (int i=0; i<n; i++)
  65.         if (v[i]==0 && i<k)
  66.             swap (v[i], v[k--]);
  67. }
  68.  
  69. void shift (int v[], int x){
  70.     int k=v[0];
  71.     for (int i=0; i<x; i++)
  72.         v[i]=v[i+1];
  73.     v[x-1]=k;
  74. }
  75.  
  76. void p (int v[], int n, int &mini, int  &maxi, int &sum){
  77.     sum=0;
  78.     maxi=-1;
  79.     mini=7000;
  80.     for (int i=0; i<n; i++){
  81.         sum+=v[i];
  82.         if (v[i]>maxi)
  83.             maxi=v[i];
  84.         if (v[i]<mini)
  85.             mini=v[i];
  86.     }
  87. }
Advertisement
RAW Paste Data Copied
Advertisement