Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- const int nMax = 360;
- int stacks[nMax], index[nMax], nr, size;
- void init()
- {
- for (int i = 0; i < nr; i++) {
- index[i] = -1;
- }
- }
- void insert(int k, int x)
- {
- if (index[k] == size - 1) {
- printf("Stiva %d e plina.", k); // daca indicele ultimului element adaugat in stiva k este
- } else { // egal cu dimensiunea stivei minus 1 e clar ca e plina
- index[k]++; // se actualizeaza indicele
- stacks[k * size + index[k]] = x; // pe pozitia actualizata anterior + toate celelalte
- } // elemente care au fost inaintea stivei curente se adauga elementul x
- }
- int main()
- {
- int k = 0; // o variabila initializata implicit ca sa nu dea eroare in expresia de la linia 32
- do { // stam in bucla pana se citeste un numar corect de stive
- printf("Numarul de stive (divide 360): ");
- scanf("%d", &nr);
- } while(nMax % nr);
- size = nMax / nr; // se stabileste dimensiunea stivei
- init(); // se atribuie valoarea -1 (stiva vida) lui index[k] unde k reprezinta stiva
- bool vid = index[k] < 0 ? 1 : 0; // expresia
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement