error in a program

samaira

samaira

@samaira-P4RsEf Oct 22, 2024
hey can anyone tell me my mistake in the foll program.I m not able to run the sorting part.i havent done merging part yet
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *link;
}*temp,*head1,*newnode,*prev,*head2;
void main()
{
char option;
int pos,ch,cnt,x,t;
do
{
printf("\n linked list operations\n1.ceation of the first list\n2.creation of the second list\n3.sorting of the first list\n4.sorting of the second list\n5.merging of two list\n enter your choice: ");
scanf("%d",&ch);
switch(ch)
{
case 1:
while(1)
{
printf("\n entere the data: ");
scanf("%d",&x);
newnode=(struct node*)malloc(sizeof(node));
newnode->link=NULL;
newnode->data=x;
if(head1==NULL)
   {
    head1=newnode;
    prev=newnode;
   }
else
   {
    prev->link=newnode;
    prev=newnode;
   }
printf("\n do u want to add another record(y//n): ");
scanf("%s",&option);
if(option=='n')
   {
    break;
   }
}
printf("\n the first list is: ");
prev=head1;
while(prev!=NULL)
      {
       printf("\t%d",prev->data);
       prev=prev->link;
      }
break;
case 2:
while(1)
{
printf("\n entere the data: ");
scanf("%d",&x);
newnode=(struct node*)malloc(sizeof(node));
newnode->link=NULL;
newnode->data=x;
if(head2==NULL)
   {
    head2=newnode;
    prev=newnode;
   }
else
   {
    prev->link=newnode;
    prev=newnode;
   }
printf("\n do u want to add another record(y//n): ");
scanf("%s",&option);
if(option=='n')
   {
    break;
   }
}
printf("\n the second list is: ");
prev=head2;
while(prev!=NULL)
      {
       printf("\t%d",prev->data);
       prev=prev->link;
      }
break;
case 3:
for(temp=head1;temp!=NULL;temp=temp->link)
    {
     prev=head1;
     while(prev!=NULL)
       {
          if(prev->data > prev->link->data)
            {
             t=prev->data;
             prev->data=prev->link->data;
             prev->link->data=t;
             prev=prev->link;
            }
        }
    }
printf("\n the sorted first list is: ");
prev=head1;
while(prev!=NULL)
      {
       printf("\t%d",prev->data);
       prev=prev->link;
      }
break;
case 4:
for(temp=head2;temp!=NULL;temp=temp->link)
    {
     for(prev=head2;prev!=NULL;prev=prev->link)
         {
          if(prev->data > prev->link->data)
            {
             t=prev->data;
             prev->data=prev->link->data;
             prev->link->data=t;
            }
        }
    }
printf("\n the sorted second list is: ");
prev=head2;
while(prev!=NULL)
      {
       printf("\t%d",prev->data);
       prev=prev->link;
      }
break;
}
}while(ch<6);
}

Welcome, guest

Join CrazyEngineers to reply, ask questions, and participate in conversations.

CrazyEngineers powered by Jatra Community Platform