проблема с выводом в списке

  • Автор темы Knedlik
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

Knedlik

Гость
#1
Суть проблемы: не отображаются результаты, которые я ввожу во вложеном списке.

Код:
struct list
{
char aa[22];
list *next;
struct list2 *p2,*cur2,*prev2,*top2;
}*p,*top,*prev,*cur;
struct list2{
char xx[22];
list2 *next;
};

void push()
{
top=0;
int n,i,k=0;
printf("\n size:\n");
scanf("%i",&n);
printf("\n Input:\n");
for(;n;n--)
{
p=new list;
scanf("%s",&p->aa);
p->next=NULL;
while(cur && p->aa >cur->aa)
{
prev=cur;
cur=cur->next;
}
if(prev==NULL)
{
p->next=top;
top=p;
}
else
{
p->next=cur;
prev->next=p;
}
}
p=top;
while(p)
{
p->p2=p->top2;
printf("%s",p->aa);
printf("\n size (inside):\n");
scanf("%i",&i);
printf("\n input: ( push into inside\n");
for(;i;i--)
{
p->p2=new list2;
scanf("%s",&p->p2->xx);
if(!k){
p->top2=NULL;
k++;
}
p->p2->next=NULL;
while(p->cur2 && p->p2->xx > p->cur2->xx)
{
p->prev2=p->cur2;
p->cur2=p->cur2->next;
}
if(p->prev2==NULL)
{
p->p2->next=p->top2;
p->top2=p->p2;
}
else
{
p->p2->next=p->cur2;
p->next=new list2;
p->prev2->next=p->p2;
}
}
k=0;
p=p->next;
}
}
void show()
{
p=top;
if(p==NULL) printf("\n list is empty\n");
while(p)
{
printf(" %s",p->aa);
p->p2=p->top2;
while(p->p2)
{
printf("%s",p->p2->xx);
p->p2=p->p2->next;
}
p=p->next;
}
}
void main()
{
push();
show();
system("PAUSE");
}
 
Статус
Закрыто для дальнейших ответов.