limpingricky

ecipecipec

Dec 6th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void move(int arr[], int n, int p);
  5. void po(int arr[], int n, int iz);
  6.  
  7. void prtarr(int arr[], int n){
  8.     for(int i = 0; i < n; i++){
  9.         cout << arr[i] << " ";
  10.     }
  11.     cout << endl;
  12. }
  13.  
  14. int main() {
  15.     int n, iz, np, j = 0;
  16.     cout << "n iz" << endl;
  17.     cin >> n >> iz;
  18.  
  19.     int arr[n];
  20.     cout << "arr: " << endl;
  21.     for(int i = 0; i < n; i++){
  22.         cin >> arr[i];
  23.     }
  24.  
  25.     po(arr, n, iz);
  26.  
  27.     return 0;
  28. }
  29.  
  30.  
  31. /*
  32.  * Dodata su stampanja za svaki ciklus
  33.  * zbog provere nacina pomeranja
  34. */
  35. void move(int arr[], int n, int p){
  36.     int pom;
  37.     int i = p + 1;
  38.     int j = i - 1;
  39.     for(i, j; i < n; i++, j++){
  40.         if(arr[i] != arr[j]) {
  41.             pom = arr[j];
  42.             arr[j] = arr[i];
  43.             arr[i] = pom;
  44.             prtarr(arr, n);
  45.         }
  46.     }
  47. }
  48.  
  49. /*
  50.  * Dodao sam mnogo  stampanja
  51.  * da bih nasao u cemu nije problem
  52.  * sa funkcijom po();
  53. */
  54.  
  55. void po(int arr[], int n, int iz){
  56.                                     // n -  broj elemenata
  57.                                     // iz -  koji element da se izbaci
  58.     int np = n;                     // np - pomocni n koji se smanjuje posle svakog ciklusa
  59.     int p;                          // p - mesto koje treba da se izbaci
  60.     int j = 0;                      // j - pocetno mesto od koga se broji p-to mesto
  61.     for(int i = 0; i < n; i++){     // od nultog pa do kraja
  62.         p = (j + iz - 1) % np;
  63.         cout << "\"arr[p]: "
  64.              << arr[p] << "\"" << endl;
  65.         cout << "np: " << np << endl;
  66.         arr[p] = 0;
  67.         cout << "prtarr: \n"; prtarr(arr, n);
  68.  
  69.         move(arr, n, p);
  70.         cout << endl;
  71.         j = p;
  72.         np--;
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment