S
snusnu
вот что я накалякал...
должно по идее выводить первый элемент стека (ну лн в принципе пока тут и единственный), но вылетает либо 0 либо адрес памяти ли ещё что то)) не могу понять в чем дело..помогите, пожалуйста!
п.с. компилятор BC31
[codebox]#include <stdio.h>
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
//stek
struct stek {int value; struct stek *next;};
//pushing
stek *pushing(stek *st, int val){
stek *f, *g = new stek;
g->value = val;
g->next = NULL;
if (st->next == NULL) {st = g;}
else{
for (f = st; f->next != 0; f = f->next){
f->next = g;
}
}
return st;
}
//popping
stek *popping(stek *st){
stek *s, *q = new stek;
int i;
i = 0;
if (st == NULL) {cout<<"\n Error: stek pust";}
else {
for (q = st; i != 1; q = q->next){
if (q->next == NULL) {
i = 1;
s = q;
delete st;
}
else {break;}
}
}
return s;
}
////////////////
//prosmotr spiska
void scan (stek *st) // zagolovok spiska
{
stek *p = new stek;
for (p = st; p != NULL; p = p->next)
printf ("%d ", *p);
printf ("\n");
}
////////////////
void main(){
int n;
stek *ST = new stek;
cout<<"\nEnter pls. : ";
cin>>n;
pushing(ST, n);
cout<<"\n N ="<<n;
scan(ST);
[/codebox]
}
должно по идее выводить первый элемент стека (ну лн в принципе пока тут и единственный), но вылетает либо 0 либо адрес памяти ли ещё что то)) не могу понять в чем дело..помогите, пожалуйста!
п.с. компилятор BC31
[codebox]#include <stdio.h>
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
//stek
struct stek {int value; struct stek *next;};
//pushing
stek *pushing(stek *st, int val){
stek *f, *g = new stek;
g->value = val;
g->next = NULL;
if (st->next == NULL) {st = g;}
else{
for (f = st; f->next != 0; f = f->next){
f->next = g;
}
}
return st;
}
//popping
stek *popping(stek *st){
stek *s, *q = new stek;
int i;
i = 0;
if (st == NULL) {cout<<"\n Error: stek pust";}
else {
for (q = st; i != 1; q = q->next){
if (q->next == NULL) {
i = 1;
s = q;
delete st;
}
else {break;}
}
}
return s;
}
////////////////
//prosmotr spiska
void scan (stek *st) // zagolovok spiska
{
stek *p = new stek;
for (p = st; p != NULL; p = p->next)
printf ("%d ", *p);
printf ("\n");
}
////////////////
void main(){
int n;
stek *ST = new stek;
cout<<"\nEnter pls. : ";
cin>>n;
pushing(ST, n);
cout<<"\n N ="<<n;
scan(ST);
[/codebox]
}