CrazyEngineers
  • error in a program

    samaira

    Member

    Updated: Oct 22, 2024
    Views: 682
    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);
    }
    
    
    0
    Replies
Howdy guest!
Dear guest, you must be logged-in to participate on CrazyEngineers. We would love to have you as a member of our community. Consider creating an account or login.
Home Channels Search Login Register