Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <conio.h>
- using namespace std;
- struct monitor
- {
- int chislo;
- char size[10];
- monitor *next; //указатель на следующий элемент списка
- };
- class c_data
- {
- private:
- monitor *ukazatel_na_tek, *first; //указатель на текущий элемент и указатель на 1й элемент списка
- int i,a;
- public:
- str()
- {
- ukazatel_na_tek = new monitor; //выделили память под 1й элемент типа monitor
- first = ukazatel_na_tek; //отдельно сохранили адрес первого элемента, чтобы иметь возможность к нему обращаться
- }
- void dobavitChislo()
- {
- //--Заполняем i-й элемент--//
- cout << "Введите число\t"; cin >> (*ukazatel_na_tek).chislo;
- cout << "Введите символы\t"; cin >> ukazatel_na_tek->size;
- ukazatel_na_tek->next = new monitor; //выделили память под i-й элемент типа monitor и сохранили его адрес в i-1 элементе
- ukazatel_na_tek = ukazatel_na_tek->next; //перешли от i-1 элемента к i-му
- ukazatel_na_tek->next = 0; //у последнего элемента сделали указатель на следующий - 0, чтобы было понятно, что это конец списка
- }
- void vivod()
- {
- ukazatel_na_tek = first; //перешли к 1му элементу
- i = 0;
- while (ukazatel_na_tek) //пока указатель на текущий элемент не станет равным 0, будет работать цикл (т.е. пока не дойдем до последнего элемента)
- {
- i++;
- cout << "элемент" << i << "\n" << ukazatel_na_tek->chislo << '\n' << ukazatel_na_tek->size << '\n';
- ukazatel_na_tek = ukazatel_na_tek->next; //переходим к следующему элементу
- }
- }
- int poisk()
- {
- cout << "введите искомый элемент";
- cin >> a;
- ukazatel_na_tek = first; //перешли к 1му элементу
- i = 0;
- while (ukazatel_na_tek) //пока указатель на текущий элемент не станет равным 0, будет работать цикл (т.е. пока не дойдем до последнего элемента)
- {
- i++;
- if (ukazatel_na_tek->chislo == a)
- {
- cout << "элемент" << i << "\n" << ukazatel_na_tek->size << '\n';
- }
- ukazatel_na_tek = ukazatel_na_tek->next; //переходим к следующему элементу
- }
- }
- };
- int main()
- {
- setlocale(LC_ALL, "Rus");
- int i, a, n = 5;//колличество элементов списка
- c_data s;
- for (i = 1; i<n; i++)
- {
- s.dobavitChislo();
- }
- //--Вывод списка--//
- s.vivod();
- //--поиск элемента--//
- s.poisk();
- //--Конец вывода списка--//
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement