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

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

{int i, inf;

ochd *spk;

sp=spk=NULL;

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

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

cin >> inf;

addochd(&sp, &spk, inf);}

delotr(&sp, &spk);

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;

}

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

{

ochd *spt, *st;

while ((*sp)!=NULL&&(*sp)->inf<0)

{

st=*sp;

*sp=(*sp)->a;

delete st;

}

spt=*sp;

while (spt->a!=*spk)

{if (spt->a->inf<0)

{st=spt->a;

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

delete st;}

else

spt=spt->a;}

if (spt->a->inf<0)

{*spk=spt;

(*spk)->a=NULL;}}

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

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

#include <conio.h>

#include <iostream.h>

struct ochd

{

int inf;

ochd *a;

} *sp;

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

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

void delpol(ochd **, ochd **);

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

{

int i, inf;

ochd *spk;

sp=spk=NULL;

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

{

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

cin >> inf;

addochd(&sp, &spk, inf);

}

delpol(&sp, &spk);

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;}

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

{ochd *spt, *st;

while ((*sp)!=NULL&&(*sp)->inf>0)

{st=*sp;

*sp=(*sp)->a;

delete st;}

spt=*sp;

while (spt->a!=*spk)

{if (spt->a->inf>0)

{st=spt->a;

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

delete st;}

else

spt=spt->a;}

if (spt->a->inf>0)

{*spk=spt;

(*spk)->a=NULL;}}

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

#include <conio.h>

#include <iostream.h>

struct ochd

{int inf;

ochd *a;} *sp;

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

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

void delmax(ochd **, ochd **, ochd**);

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

{int i, n, inf;

ochd *spk, *spt, *st;

sp=spk=NULL;

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

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

cin >> inf;

addochd(&sp, &spk, inf);}

spt=st=sp;

n=st->inf;

while (st->a!=NULL)

{if (st->a->inf>n)

{spt=st;

n=st->a->inf;}

st=st->a;}

if (sp->inf==n)

{spt=sp;

sp=sp->a;

delete spt;}

else

delmax(&sp, &spk, &spt);

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;}

void delmax(ochd **sp, ochd **spk, ochd **spt)

{ochd *st;

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

{

st=(*spt)->a;

(*spt)->a=NULL;

delete st;

}

else

{

st=(*spt)->a;

(*spt)->a=(*spt)->a->a;

delete st;

}

}

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

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

#include <conio.h>

#include <iostream.h>

struct ochd

{

int inf;

ochd *a;

} *sp;

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

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

void dobel(ochd **, ochd **, ochd**);

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