Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Name: Jiban
- ID: 192-15-13117
- Section: C
- Batch: 53rd
- */
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct Data
- {
- int a;
- struct Data *next;
- } Data;
- Data *head=NULL;
- void insrt_at_fst(int n)
- {
- Data *tmp=head;
- Data *new_node=(Data*) malloc(sizeof (Data));
- new_node->a=n;
- new_node->next=NULL;
- if(head==NULL)
- {
- head=new_node;
- return;
- }
- new_node->next=head;
- head=new_node;
- }
- void insrt_at_end(int n)
- {
- Data *tmp=head;
- Data *new_node=(Data*) malloc(sizeof (Data));
- new_node->a=n;
- new_node->next=NULL;
- if(head==NULL)
- {
- head=new_node;
- return;
- }
- while(tmp->next!=NULL)
- {
- tmp=tmp->next;
- }
- tmp->next=new_node;
- }
- void insrt_at_xth(int x, int n)
- {
- Data *tmp=head;
- Data *new_node=(Data*) malloc(sizeof (Data));
- new_node->a=n;
- new_node->next=NULL;
- if(head==NULL||x==1)
- {
- new_node->next=head;
- head=new_node;
- return;
- }
- x=x-2;
- while(x--&&tmp->next!=NULL)
- {
- tmp=tmp->next;
- }
- new_node->next=tmp->next;
- tmp->next=new_node;
- }
- void dlt_by_pstn(int x)
- {
- Data *tmp=head;
- if(head==NULL)
- {
- printf("No data found!\n");
- return;
- }
- if(x==1)
- {
- head=tmp->next;
- free(tmp);
- return;
- }
- x=x-2;
- while(x-- && tmp->next!=NULL)
- {
- tmp=tmp->next;
- }
- Data *dlt=tmp->next;
- tmp->next=dlt->next;
- free(dlt);
- }
- void dlt_by_vlu(int n)
- {
- Data *tmp=head;
- if(head==NULL)
- {
- printf("No match found!\n");
- }
- if(tmp->next==NULL&&tmp->a==n)
- {
- head=NULL;
- free(tmp);
- printf("Deleted integer %d\n",n);
- return;
- }
- if(tmp->a==n)
- {
- head=head->next;
- free(tmp);
- printf("Deleted integer %d\n",n);
- return;
- }
- while(tmp->next->a!=n)
- {
- tmp=tmp->next;
- }
- Data *del=tmp->next;
- tmp->next=del->next;
- free(del);
- printf("Deleted integer %d\n",n);
- return;
- }
- int cnt()
- {
- int ct=0;
- Data *tmp=head;
- while(tmp!=NULL)
- {
- ct++;
- tmp=tmp->next;
- }
- printf("Number of integer %d\n",ct);
- return ct;
- }
- int add()
- {
- int ttl=0;
- Data *tmp=head;
- while(tmp!=NULL)
- {
- ttl=ttl+tmp->a;
- tmp=tmp->next;
- }
- printf("Sum of inputed integers %d\n",ttl);
- return ttl;
- }
- void avg(float a,float b)
- {
- float avg;
- avg=a/b;
- printf("Average of inputed integers %.2f\n",avg);
- }
- void print()
- {
- Data *tmp=head;
- while(tmp!=NULL)
- {
- printf("Inputed integer %d\n",tmp->a);
- tmp=tmp->next;
- }
- }
- int main()
- {
- float sum,ct;
- head=NULL;
- insrt_at_end(6);
- insrt_at_fst(8);
- insrt_at_end(5);
- insrt_at_fst(9);
- insrt_at_end(1);
- insrt_at_xth(5,4);
- dlt_by_pstn(3);
- sum=add();
- ct=cnt();
- avg(sum,ct);
- dlt_by_vlu(8);
- /*search(1);
- */
- print();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment