• 8- Stek va vektor bilan farqlari aniqlovchi dastur tuzing
  • Dasturlash 2” fanidan 3-mustaqil ish ki 23-01 guruh talabasi Abdug‘aniyev Nodirbek




    Download 122,84 Kb.
    bet11/12
    Sana15.05.2024
    Hajmi122,84 Kb.
    #234504
    1   ...   4   5   6   7   8   9   10   11   12
    Bog'liq
    3-mustaqil ish dasturlash Abduganiyev

    7- . while (st.size() != 0){ cout<< st_two.top()
    << " :
    stack dagi oʻrni " << st_two.size()
    << endl;
    st_two.pop();
    }
    Dastur fragmentinistek elementlarini saqlab qolgan xolda ishlatish funksiyasini tuzing:

    #include


    #include

    using namespace std;


    // Stek elementlarini saqlab qolgan holda ishlab chiqish


    void processStackWithSaving(stack& st) {
    stack tempStack; // Vaqtinchalik stek

    // Stekdagi elementlarni vaqtinchalik stekka ko'chirish


    while (!st.empty()) {
    tempStack.push(st.top());
    st.pop();
    }

    // Vaqtinchalik stekdagi elementlarni ekranga chiqarish


    while (!tempStack.empty()) {
    cout << "Element: " << tempStack.top() << ", position in stack: " << tempStack.size() << endl;
    st.push(tempStack.top()); // Elementlarni asosiy stekka qaytarish
    tempStack.pop();
    }
    }

    int main() {


    stack myStack;

    // Stekka elementlarni qo'shish


    myStack.push(10);
    myStack.push(20);
    myStack.push(30);
    myStack.push(40);
    myStack.push(50);

    // Stek elementlarini saqlab qolgan holda ishlab chiqish


    processStackWithSaving(myStack);

    return 0;


    }
    Ushbu kod misolida processStackWithSaving() funksiyasi stek elementlarini saqlab qolgan holda ishlab chiqadi. Funksiya quyidagi ishlarni bajaradi:

    1. tempStack nomli yangi stek yaratadi. Bu stek vaqtinchalik stek sifatida foydalaniladi.


    2. Asosiy st stekdagi elementlarni tempStackga ko'chiradi.
    3. tempStackdagi elementlarni ekranga chiqaradi.
    4. Ekranga chiqarish jarayonida, tempStackdagi har bir elementni asosiy st stekka qaytaradi.
    8- Stek va vektor bilan farqlari aniqlovchi dastur tuzing:

    #include


    #include
    #include
    #include

    using namespace std;


    int main() {


    // Stack
    stack myStack;
    myStack.push(10);
    myStack.push(20);
    myStack.push(30);
    cout << "Stack size: " << myStack.size() << endl;
    cout << "Stack top: " << myStack.top() << endl;
    myStack.pop();
    cout << "Stack size after pop: " << myStack.size() << endl;

    // Vector


    vector myVector;
    myVector.push_back(10);
    myVector.push_back(20);
    myVector.push_back(30);
    cout << "Vector size: " << myVector.size() << endl;
    cout << "Vector element at index 1: " << myVector[1] << endl;
    myVector.erase(myVector.begin() + 1);
    cout << "Vector size after erase: " << myVector.size() << endl;

    // Farqlar


    cout << endl << "Farqlar:" << endl;
    cout << "1. Stek yopiq tizim (LIFO - Last In First Out), vektor esa ochiq tizimdir." << endl;
    cout << "2. Stekda element qo'shish va o'chirish uchun push() va pop() funksiyalaridan foydalaniladi, vektor uchun esa push_back() va erase() funksiyalaridan foydalaniladi." << endl;
    cout << "3. Stekdagi so'nggi element top() orqali olinadi, vektorda esa indeks orqali elementlar olinadi." << endl;
    cout << "4. Stekda o'lchov size() funktsiyasi orqali olinadi, vektorlarda ham size() funksiyasi ishlatiladi." << endl;
    cout << "5. Stek dinamik xotira talab qilmaydi, vektor esa dinamik xotiradan foydalanadi." << endl;

    return 0;


    }

    Ushbu dastur quyidagi farqlarni ko'rsatadi:


    1. Stek LIFO (Last In First Out) tizimi bo'lib, vektor esa ochiq tizimdir.


    2. Stekda elementlar qo'shish va o'chirish uchun push() va pop() funksiyalaridan foydalaniladi, vektor uchun esa push_back() va erase() funksiyalardan foydalaniladi.
    3. Stekdagi so'nggi element top() orqali olinadi, vektorda esa indeks orqali elementlar olinadi.
    4. Stekda o'lchov size() funktsiyasi orqali olinadi, vektorlarda ham size() funksiyasi ishlatiladi.
    5. Stek dinamik xotira talab qilmaydi, vektor esa dinamik xotiradan foydalanadi.



    Download 122,84 Kb.
    1   ...   4   5   6   7   8   9   10   11   12




    Download 122,84 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Dasturlash 2” fanidan 3-mustaqil ish ki 23-01 guruh talabasi Abdug‘aniyev Nodirbek

    Download 122,84 Kb.