Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpora_OAIP_2.docx
Скачиваний:
6
Добавлен:
11.05.2015
Размер:
56.37 Кб
Скачать

Int main(int argc, char* argv[])

{

int i, inf, n;

stk *sp, *spk, *st=NULL;

for (i=0; i<8; i++)

{

cout << "Vvedite element " << i+1 << ": ";

cin >> inf;

st=adst(st, inf);

}

sp=st;

n=sp->inf;

while (sp->a!=NULL)

{

if (sp->a->inf>n)

{

spk=sp;

n=sp->a->inf;

}

sp=sp->a;

}

if (st->inf==n)

st=st->a;

else

dell(spk);

delall(st);

getch();

return 0;

}

stk *adst(stk *st, int inf)

{

stk *spt=new stk;

spt->inf=inf;

spt->a=st;

return spt;

}

stk *delall(stk *st)

{

int inf;

stk *spt;

while (st!=NULL)

{

spt=st;

st=st->a;

inf=spt->inf;

cout << inf << " ";

delete spt;

}

cout << endl;

return NULL;

}

void dell(stk *spk)

{

stk *spt;

if (spk->a->a==NULL)

{

spt=spk->a;

spk->a=NULL;

delete spt;

}

else

{

spt=spk->a;

spk->a=spk->a->a;

delete spt;

}

}

Написать программу формирующую стек из 6 чисел. Добавить элемент после минимального элемента стека.

Предусмотреть вывод результата и очистку стека в конце работы.

#include <conio.h>

#include <iostream.h>

struct stk

{

int inf;

stk *a;

} st;

stk *adst(stk *, int);

stk *delall(stk *);

void dobel(stk *);

Int main(int argc, char* argv[])

{

int i, inf, n;

stk *sp, *spk, *st=NULL;

for (i=0; i<6; i++)

{

cout << "Vvedite element " << i+1 << ": ";

cin >> inf;

st=adst(st, inf);

}

sp=st;

n=sp->inf;

spk=sp;

while (sp!=NULL)

{

if (sp->inf<n)

{

spk=sp;

n=sp->inf;

}

sp=sp->a;

}

dobel(spk);

delall(st);

getch();

return 0;

}

stk *adst(stk *st, int inf)

{

stk *spt=new stk;

spt->inf=inf;

spt->a=st;

return spt;

}

stk *delall(stk *st)

{

int inf;

stk *spt;

while (st!=NULL)

{

spt=st;

st=st->a;

inf=spt->inf;

cout << inf << " ";

delete spt;

}

cout << endl;

return NULL;

}

void dobel(stk *spk)

{

int inf;

stk *spt=new stk;

cout << "Vedite chislo: ";

cin >> inf;

if (spk->a==NULL)

{

spk->a=spt;

spt->a=NULL;

spt->inf=inf;

}

else

{

spt->a=spk->a;

spk->a=spt;

spt->inf=inf;

}

}

Написать программу формирующую однонаправленую очередь из 7 чисел. Удалить первый элемент очереди.

Предусмотреть вывод результата и очистку очереди в конце работы.

#include <conio.h>

#include <iostream.h>

struct ochd

{

int inf;

ochd *a;

} *sp;

void addochd(ochd **, ochd **, int);

void delochd(ochd **, ochd **);

Int main(int argc, char* argv[])

{

int i, inf;

ochd *spk, *st;

sp=spk=NULL;

for (i=0; i<7; i++)

{

cout << "Vvedite element " << i+1 << ": ";

cin >> inf;

addochd(&sp, &spk, inf);

}

st=sp;

sp=sp->a;

delete st;

delochd(&sp, &spk);

getch();

return 0;

}

void addochd(ochd **sp,ochd **spk, int inf)

{

ochd *spt=new ochd;

spt->inf=inf;

spt->a=NULL;

if (*spk==NULL)

*sp=*spk=spt;

else

{

(*spk)->a=spt;

*spk=spt;

}

}

void delochd(ochd **sp,ochd **spk)

{

int inf;

ochd *spt;

while (*sp!=NULL)

{

inf=(*sp)->inf;

cout << inf << " ";

spt=*sp;

*sp=(*sp)->a;

delete spt;

}

cout << endl;

}

Написать программу формирующую однонаправленую очередь из 5 чисел. Удалить последний элемент очереди.

Предусмотреть вывод результата и очистку очереди в конце работы.

#include <conio.h>

#include <iostream.h>

struct ochd

{

int inf;

ochd *a;

} *sp;

void addochd(ochd **, ochd **, int);

void delochd(ochd **, ochd **);

void delposl(ochd **, ochd **);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]