Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OAIP-_zadachi_shrift_5.doc
Скачиваний:
35
Добавлен:
11.05.2015
Размер:
178.69 Кб
Скачать

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

{ int i, inf, n=5; stk *st=NULL;

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

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

cin >> inf; st=adst(st, inf); }

st=dell(st); 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; s t=st->a; inf=spt->inf;

cout << inf << " "; delete spt; }

cout << endl; return NULL; }

stk *dell(stk *st)

{ stk *spt;

while (st->inf%2==0&&st->a!=NULL)

{ spt=st; st=st->a; delete spt; }

if (st->a==NULL)

if (st->inf%2==0) return NULL;

else return st; spt=st;

while (spt!=NULL)

{ if (spt->a->a==NULL)

if (spt->a->inf%2==0)

{ spt->a=NULL; eturn st; }

else return st;

if (spt->a->inf%2==0)

spt->a=spt->a->a;

else spt=spt->a; }

return st; }

Написать программу формирующую стек из 8 чисел.

Удалить максимальный элемент стека.

Предусмотреть вывод

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

#include <conio.h>

#include <iostream.h>

struct stk

{ int inf; stk *a; } st;

stk *adst(stk *, int);

stk *delall(stk *);

void dell(stk *);

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 чисел. Удалить 1 элемент очереди.

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

#include <conio.h>

#include <iostream.h>

struct ochd

{ int inf; ochd *a; } *sp;

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

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

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