SHOW:
|
|
- or go back to the newest paste.
| 1 | #include <iostream> | |
| 2 | ||
| 3 | - | void Eliminare (int vector[], int n, const int &k, int *suma) |
| 3 | + | void Eliminare (int vector[], const int &n, const int &k, int &numere_eliminate) |
| 4 | {
| |
| 5 | for (int i = 0; i < n; i = i + k - 1) | |
| 6 | - | for (int i = 1; i <= n; i = i + k - 1) |
| 6 | + | if (vector[i] = -1) |
| 7 | - | {
|
| 7 | + | i++; |
| 8 | - | vector[i] = 0; |
| 8 | + | else |
| 9 | - | *suma -= i; |
| 9 | + | {
|
| 10 | - | for (int j = i; j < n; ++j) |
| 10 | + | vector[i] = -1; |
| 11 | - | vector[j]=vector[j+1]; |
| 11 | + | numere_eliminate++; |
| 12 | - | --n; |
| 12 | + | } |
| 13 | - | } |
| 13 | + | |
| 14 | ||
| 15 | void Afisare_pozitie (int vector[], const int &n) | |
| 16 | {
| |
| 17 | for (int i = 0; i < n; ++i) | |
| 18 | if (vector[i] != -1) | |
| 19 | std::cout << vector[i]; | |
| 20 | ||
| 21 | - | int n, k; |
| 21 | + | |
| 22 | ||
| 23 | void Citire_vector (int vector[], const int &n) | |
| 24 | - | int *vector = new int[n]; |
| 24 | + | |
| 25 | for (int i = 0; i < n; ++i) | |
| 26 | std::cin >> vector[i]; | |
| 27 | } | |
| 28 | int main() | |
| 29 | - | for (int i = 1; i <= n; ++i) |
| 29 | + | |
| 30 | - | cin >> vector[i]; |
| 30 | + | |
| 31 | using std::cin; | |
| 32 | - | int suma = n * (n+1) / 2; //suma elementelor, din care scadem pozitia elementului eliminat, |
| 32 | + | |
| 33 | - | //la final ramanand doar ultimului singurului element din vector |
| 33 | + | int n,k; |
| 34 | - | while (n > 1) |
| 34 | + | |
| 35 | - | {
|
| 35 | + | |
| 36 | - | for (int i =1; i <= n; ++i) |
| 36 | + | int *vector = new int[n]; |
| 37 | - | Eliminare (vector,n,k,&suma); |
| 37 | + | |
| 38 | - | } |
| 38 | + | |
| 39 | - | cout << suma; |
| 39 | + | Citire_vector(vector,n); |
| 40 | - | return 0; |
| 40 | + | |
| 41 | int numere_eliminate = 0; | |
| 42 | while (numere_eliminate <= n - 1) | |
| 43 | Eliminare(vector,n,k,numere_eliminate); | |
| 44 | ||
| 45 | Afisare_pozitie(vector,n); | |
| 46 | return 0; | |
| 47 | } |