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

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

{ int i, inf, n=6;

stk *spt, *st=NULL;

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

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

cin >> inf;

st=adst(st, inf);

} spt=st;

st=st->a;

spt=NULL;

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

void addell(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);

}

addell(st); 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;

}

void addell(stk *st)

{ int inf; stk *spt;

while (st->a!=NULL)

{ st=st->a; }

cout << "Vvedite chislo: ";

cin >> inf; spt=new stk;

st->a=spt; spt->inf=inf;

spt->a=NULL; }

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

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

#include <conio.h>

#include <iostream.h>

struct stk

{ int inf;

stk *a; } st;

stk *adst(stk *, int);

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

}

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

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