limpingricky

ecipecipec READABLE

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