Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3. #include <cstdlib>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7. const int A=-2,B=9,C=-4,D=8;
  8. void losuj (int *X,int n,int P,int K){
  9. for(int i=0;i<n;i++){
  10. X[i]= P+rand()%(K+1-P);
  11. }
  12. }
  13. void drukuj(int *X,int n){
  14. for(int i=0;i<n;i++){
  15. cout<<setw(3)<<X[i];
  16. }
  17. cout<<endl;cout<<endl;
  18. }
  19. void przesun(int *X,int ile,int n){
  20. int schowek;
  21. for(int j=0;j<ile;j++){
  22. schowek=X[n-1];
  23. for(int i=0;i<n;i++){
  24.  
  25. X[n-1-i]=X[n-2-i];
  26. } X[0]=schowek;
  27. }
  28. }
  29. int main()
  30. { srand(time(NULL));
  31. int *a,*b,*R;
  32. int n,m;
  33. cout<<"Podaj rozmiar tablicy a: "<<endl;cin>>n;
  34. cout<<"Podaj rozmiar tablicy b: "<<endl;cin>>m;
  35.  
  36. a=new int [n];
  37. b=new int [m];
  38. losuj(a,n,A,B);
  39. losuj(b,m,C,D);
  40. drukuj(a,n);
  41. drukuj(b,m);
  42. przesun(a,2,n);
  43. przesun(b,3,m);
  44. drukuj(a,n);
  45. drukuj(b,m);
  46. R=new int[n+m];
  47. int k=n+m;
  48. int z=0,y=0,f=0,t=0;
  49. for(int i=0;i<n;i++){
  50. if(a[i]<0){
  51. R[z]=a[i];
  52. z++;
  53. }
  54. }
  55. for(int i=0;i<m;i++){
  56. if(b[i]<0){
  57. R[z+y]=b[i];
  58. y++;
  59. }
  60. }
  61. for(int i=0;i<n;i++){
  62. if(a[i]>=0){
  63. R[z+y+f]=a[i];
  64. f++;
  65. }
  66. }
  67. for(int i=0;i<m;i++){
  68. if(b[i]>=0){
  69. R[k-1-t]=b[i];
  70. t++;
  71. }
  72. }
  73.  
  74. drukuj(R,k);
  75. delete []a;
  76. delete []b;
  77. delete []R;
  78. return 0;
  79. }
  80. /* Wczytać liczby całkowite n oraz m oznaczające rozmiary dwóch tablic, po czym
  81. - tablicę dynamiczną a[n] wypełnić liczbami losowymi całkowitymi z przedziału <A, B>,
  82. zaś tablicę dynamiczną b[m] - liczbami losowymi całkowitymi z przedziału <D, G> (A, B, D, G - stałe).
  83. - tablicę a przesunąć 2 razy cyklicznie o 1 miejsce w prawo, zaś tablicę b przesunąć 3 razy cyklicznie o 1 miejsce w prawo.
  84. Następnie utworzyć tablicę wynikową zawierającą kolejno: elementy ujemne z tablicy a, elementy ujemne z tablicy b,
  85. pozostałe elementy z tablicy a i pozostałe elementy z tablicy b.
  86. Wydrukować wszystkie utworzone tablice.
  87. Napisać i wykorzystać odpowiednie funkcje (losującą, przesuwającą cyklicznie, drukującą).
  88. 13;13
  89. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement