Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void move(int arr[], int n, int p);
- void po(int arr[], int n, int iz);
- void prtarr(int arr[], int n){
- for(int i = 0; i < n; i++){
- cout << arr[i] << " ";
- }
- cout << endl;
- }
- int main() {
- int n, iz, np, j = 0;
- cout << "n iz" << endl;
- cin >> n >> iz;
- int arr[n];
- cout << "arr: " << endl;
- for(int i = 0; i < n; i++){
- cin >> arr[i];
- }
- po(arr, n, iz);
- return 0;
- }
- /*
- * Dodata su stampanja za svaki ciklus
- * zbog provere nacina pomeranja
- */
- void move(int arr[], int n, int p){
- int pom;
- int i = p + 1;
- int j = i - 1;
- for(i, j; i < n; i++, j++){
- if(arr[i] != arr[j]) {
- pom = arr[j];
- arr[j] = arr[i];
- arr[i] = pom;
- prtarr(arr, n);
- }
- }
- }
- /*
- * Dodao sam mnogo stampanja
- * da bih nasao u cemu nije problem
- * sa funkcijom po();
- */
- void po(int arr[], int n, int iz){
- // n - broj elemenata
- // iz - koji element da se izbaci
- int np = n; // np - pomocni n koji se smanjuje posle svakog ciklusa
- int p; // p - mesto koje treba da se izbaci
- int j = 0; // j - pocetno mesto od koga se broji p-to mesto
- for(int i = 0; i < n; i++){ // od nultog pa do kraja
- p = (j + iz - 1) % np;
- cout << "\"arr[p]: "
- << arr[p] << "\"" << endl;
- cout << "np: " << np << endl;
- arr[p] = 0;
- cout << "prtarr: \n"; prtarr(arr, n);
- move(arr, n, p);
- cout << endl;
- j = p;
- np--;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment