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

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

}

cout << "Vvedite shislo: ";

cin >> inf;

st=adst(st, inf);

del(st);

getch();

return 0;

}

stk *adst(stk *st, int inf)

{

stk *spt=new stk;

spt->inf=inf;

spt->a=st;

return spt;

}

stk *del(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;

}

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

#include <conio.h>

#include <iostream.h>

struct stk

{

int inf;

stk *a;

} st;

stk *adst(stk *, int);

stk *delall(stk *);

stk *dell(stk *);

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

{

int i, inf, n=8;

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;

st=st->a;

inf=spt->inf;

cout << inf << " ";

delete spt;

}

cout << endl;

return NULL;

}

stk *dell(stk *st)

{

stk *spt;

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

{

spt=st;

st=st->a;

delete spt;

}

if (st->a==NULL)

if (st->inf<0)

return NULL;

else

return st;

spt=st;

while (spt!=NULL)

{

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

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

{

spt->a=NULL;

return st;

}

else

return st;

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

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

else

spt=spt->a;

}

return st;

}

Пять элементов стека. Удалить чётные из них.

#include <conio.h>

#include <iostream.h>

struct stk

{

int inf;

stk *a;

} st;

stk *adst(stk *, int);

stk *delall(stk *);

stk *dell(stk *);

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;

st=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;

return 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 *);

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