|
Программирование >> Программирование на языке c++
while (next 1= 0) { cout next.CurrentO ++next; } Если, например, ввести в эту программу значения 2 7 0 1, то на экран будет выведена следующая информация: 0 12 7 2 7 где вторая строка выведена после обращения к функции Restart. Пятая программа демонстрирует работу со стеком. #include <iostream.h> #include <classlib\stacks.h> файл заголовка для работы со стеком typedef TStackAsVector<char> c stack; void main(void) { c stack cs(20); объявление стека cs размером 20 объектов for(int i=0;i<5;i++) cs.Push(A+i); запись в стек символов А, В, С, D, Е for(i=0;i<5;i++) cout cs.PopO \t; Результат: E D С В A При работе с контейнерами целесообразно использовать следующие конструкции: typedef TStackAsVector<char> c $tack; В результате, если необходимо перейти от одного контейнера к другому, достаточно лищь изменить эту строку, например: typedef TStackAsList<char> c stack; Шестая программа демонстрирует такой переход: #include <iostream.h> #include <classlib\stacks.h> typedef TStackAsList<char> c stack; void main(void) { c stack cs; for(int i=0;i<5;i++) cs.Push(A+i); for(i=0;i<5;i++) cout cs.PopO \t; Результат: E D С В A Седьмая программа демонстрирует занесение в стек не самих объектов, а указателей на эти объекты (здесь использован префикс TI). #include <iostream.h> #include <classlib\stacks.h> typedef TIStackAsVector<int> i stack; void main{void) { i stack is; int a[l = { 2,4,6,8,10 }; for(int i=0;i<5;i++) is.Pusli(a+i); занесение в стек указателей на элементы массива а (а[0],а[1],а[2],а[3],а[4]) for(i=0;i<5;i++) cout *is.Pop() << \t; Результат: 10 8 6 4 2 Восьмая программа показывает использование контейнера TISArray As Vector для сортировки строк. #include <iostream.li> #include <classlib\arrays.h> typedef TISArrayAsVector<char> c array; void main(void) { c array ca(10); char *str[] = { Lisbon , Porto , Coimbra , Aveiro , Braga , Covilha , Faro }; for(int i=0;i<7;i++) ca.Add(str[i]); занесение указателей на строки в контейнер for(i=0;i<7;i++) cout (char*)ca[i] << endl; вывод результата Результаты работы этой программы представятся в ввде: Aveiro Braga Coimbra Coviiha Faro Lisbon Porto Девятая программа вычерчивает ломаную линию на экране и сохраняет информацию об этой линии в массиве. Затем экран очищается. После этого ломаная линия восстанавливается на экране с использованием информации, сохраненной в массиве. #include <iostream.h> #include <classlib\arrays.h> #include <constrea.h> для класса conbuf #include <conio.h> #include <graphics.h> struct TPoint { класс, содержащий информацию о точке экрана int х,у; void set{int X=0,int Y=0) { x=X; y=Y; } int operator==(const TPoint& a) const { return x == a.x; } void main(void) { TPoint p1,p2,p3; TArray<TPoint> TPoints(10,0,10); p1.set(10,10),p2.set{10,100),p3.set(50,50); conbuf cb; CM. главу 8 для дополнительных пояснений int gd=DETECT, gm;, для инициализации графики initgraph{&gd,&gm, ); инициализация графики lineto(p1.x,p1.y); вычерчивание линии TPoints.Add(pl); сохранение информации о точке
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |