michal8m - 2011-10-19 21:15:19

Zaimplementuj kolejke z uzyciem tablicy zamiast dynamicznej struktury danych.








#include <iostream>
#include <cstdlib>

using namespace std;

struct kolejka {
    int tab[10];
    int pocz;
    int rozmiar;
};

void add(kolejka* &s, int x) {
    if (s == NULL) {
        s = new kolejka;
        s->pocz = 0;
        s->rozmiar = 0;
    }
    if (s->rozmiar == (sizeof (s->tab) / sizeof (int) - 1)) {
        cout << "Bład" << endl;
    } else {
        s->tab[s->pocz + s->rozmiar] = x;
        s->rozmiar++;
    }
}

int next(kolejka* s) {
    if (s == NULL) {
        cout << "Blad!!" << endl;
        return 0;
    }
    int w = s->tab[s->pocz];
    s->pocz++;
    s->rozmiar--;
    return w;
}

//nie uruchamiać przed pierwszym zapisem

int firstEl(kolejka* s) {
    return s->tab[s->pocz];
}

//nie uruchamiać przed pierwszym zapisem

bool isEmpty(kolejka* s) {
    return s->rozmiar == 0;
}

//nie uruchamiać przed pierwszym zapisem

void usun(kolejka* s) {
    delete s->tab;
    s->rozmiar = 0;
    s->pocz = 0;
}

int main() {
    kolejka* e = NULL;

    system("Pause");
    return 0;
}

GotLink.pl