Advertisement
ioana_martin98

Untitled

Apr 30th, 2022
832
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.53 KB | None | 0 0
  1. /*
  2. Se citesc n elemente (1<=n<=1000) numere naturale intr-un vector v.
  3. Se dau urmatoarele cerinte ce se vor rezolva in acelasi program, in ordinea data, cu afisarea vectorului dupa fiecare pas pe linii diferite:
  4. 1) Sa se insereze dupa fiecare element patrat perfect, radacina sa patrata (ex. daca v[i]==25, se insereaza pe v[i+1] valoarea 5
  5.                                                                         - vezi pbinfo, am lucrat ceva similar, atentie, aici se insereaza DUPA)
  6. ex: IN
  7. 5
  8. 7 3 4 1 9
  9. OUT: 7 3 4 2 1 1 9 3
  10. 2) Sa se caute valoarea x citita de la tastatura, si daca se gaseste, sa se afiseze numarul aparitiilor si sa se stearga aparitiile din vector
  11. (NU cu cautare binara, ci o cautare simpla)
  12. ex: IN
  13. x=1
  14. se considera v anterior (valabil pt toti pasii care urmeaza)
  15. OUT:
  16. k=2
  17. 7 3 4 2 9 3
  18. 3) Sa se calculeze si afiseze suma elementelor impare din vector
  19. OUT: S=22
  20. 4) Sa se ordoneze crescator elementele vectorului si sa se afiseze
  21. OUT: 2 3 3 4 7 9
  22. 5) Sa se afiseze in ordine descrescatoare elementele de pe pozitiile pare.
  23. OUT: 9 4 3
  24. */
  25.  
  26. #include <iostream>
  27. #include <cmath>
  28.  
  29. using namespace std;
  30.  
  31. int main()
  32. {
  33.     int n,v[1001],i,j, x,r, k=0, S=0, ok, aux;
  34.     cin>>n;
  35.     for(i=1; i<=n; i++)
  36.         cin>>v[i];
  37. //1)
  38.     for(i=1; i<=n; i++)
  39.     {
  40.         r = sqrt(v[i]);
  41.         if(r * r == v[i])
  42.         {
  43.             n++;
  44.             for(j = n-1; j >= i; j--)
  45.                 v[j+1] = v[j];
  46.             v[i+1] = r;
  47.             i++;
  48.         }
  49.     }
  50.     for(i = 1; i <= n; ++i)
  51.         cout << v[i] << " ";
  52.     cout<<"\n";
  53. //2)
  54.     cout<<"Citeste x=";
  55.     cin>>x;
  56.     for(i=1; i<=n; i++)
  57.     {
  58.         if(v[i]==x)
  59.         {
  60.             k++; //cresc nr aparitii
  61.             //STERGERE:
  62.             for(j = i; j <=n-1; j++)
  63.                 v[j] = v[j+1];
  64.             n--;
  65.             i--;
  66.         }
  67.     }
  68.     cout<<"k="<<k<<"\n";
  69.     for(i = 1; i <= n; ++i)
  70.         cout << v[i] << " ";
  71.     cout<<"\n";
  72.  
  73. //3)
  74.     for(i=1; i<=n; i++)
  75.     {
  76.         if(v[i]%2!=0)
  77.             S+=v[i];
  78.     }
  79.     cout<<"S="<<S<<"\n";
  80.  
  81. //4)
  82.     do
  83.     {
  84.         ok = 1;
  85.         for(i=1; i<=n-1; i++)
  86.         {
  87.             if(v[i]>v[i+1])
  88.             {
  89.                 aux = v[i];
  90.                 v[i]= v[i+1];
  91.                 v[i+1]= aux;
  92.                 ok=0;
  93.             }
  94.         }
  95.     }
  96.     while(ok==0);
  97.     for(i = 1; i <= n; ++i)
  98.         cout << v[i] << " ";
  99.     cout<<"\n";
  100. //5)
  101.     if(n%2!=0)
  102.         n--;
  103.     for(i = n; i >=2; i-=2)
  104.         cout << v[i] << " ";
  105.  
  106.     return 0;
  107. }
  108.  
  109.  
  110.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement