0% found this document useful (0 votes)
5 views

a24cse046 Task 1

The document contains multiple C programming tasks that involve array and matrix operations, including reversing arrays, summing elements, inserting and deleting elements, and performing matrix operations like addition and transposition. It also includes functions for searching algorithms such as linear, binary, and Fibonacci search. Each task is structured with user input prompts and operations to manipulate data structures effectively.

Uploaded by

sample.4444.test
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

a24cse046 Task 1

The document contains multiple C programming tasks that involve array and matrix operations, including reversing arrays, summing elements, inserting and deleting elements, and performing matrix operations like addition and transposition. It also includes functions for searching algorithms such as linear, binary, and Fibonacci search. Each task is structured with user input prompts and operations to manipulate data structures effectively.

Uploaded by

sample.4444.test
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

TASK 1

Q1)

#include <stdio.h>

#include<stdlib.h>

int reverse(int a[],int r)

int i,t;

for(i=0;i<r/2;i++)

t=a[i];

a[i]=a[r-1-i];

a[r-1-i]=t;

int sum(int a[],int s)

int i,sum=0;

for(i=0;i<s;i++)

sum=sum+a[i];

return sum;

int insert(int arr[], int n, int pos, int val)

for (int i = n; i > pos; i--)

arr[i] = arr[i-1];

arr[pos] = val;

n++;
}

int deletion(int arr[], int n, int val)

int i;

while (arr[i] != val) i++;

for (int j = i; j < n - 1; j++)

arr[i] = arr[i + 1];

n--;

int exiting(int i)

exit(0);

int main()

int a[10],n,c,i;

Retry :

printf("\n How many Array elements should be there : ");

scanf("%d",&n);

printf("\n enter %d Array Elements : ",n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

printf("\n The Array You Entered is : ");

for(i=0;i<n;i++)

printf("%d ",a[i]);
}

printf("\n The list Operation is as follows ");

printf("\n 1 for reverse of array");

printf("\n 2 for sum of array elements ");

printf("\n 3 for inserting a array element ");

printf("\n 4 for deleting an array element ");

printf("\n 5 for exit ");

printf("\n Enter The operation : ");

scanf("%d",&c);

switch(c)

case 1:

printf("\n Reverse of the array is : ");

reverse(a,n);

for(i=0;i<n;i++)

printf("%d ",a[i]);

break;

case 2:

printf("\n Sum of the Array elements is : %d",sum(a,n));

break;

case 3:

int pos,val;

printf("\n Enter The Position You Want to Insert the Element at : ");

scanf("%d",&pos);
printf("\n Enter The Element : ");

scanf("%d",&val);

insert(a, n, pos, val);

for (int i = 0; i < n+1; i++)

printf("%d ", a[i]);

break;

case 4:

int val;

printf("\n Enter The Value in Array you want to delete : ");

scanf("%d",&val);

deletion(a,n,val);

for (int i = 0; i < n-1; i++)

printf("%d ", a[i]);

break;

case 5:

int i,j;

printf("\n Do you want to exit the program \n Enter 1 for yes \n Enter 0 for no \n Enter Your
choice : ");

scanf("%d",&i);

if(i==0)

printf("\n Do you want to restart \n Enter 1 for yes \n Enter 0 for no \n Enter Your choice :
");

scanf("%d",&j);
if(j==1)

goto Retry;

else if(j==0)

exiting(i);

else

printf("\n Invalid Choice ");

else if(i==1)

exiting(i);

else

printf("\n Invalid choice ");

default:

printf("\n Invalid input ");

Q2)

#include<stdio.h>
#include<stdlib.h>

int matrix(int a[3][3])

int i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

printf("\n Enter The Matrix element : ");

scanf("%d",&a[i][j]);

int add(int a[3][3],int m,int n)

int b[3][3],s[3][3];

int i,j;

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("\n Enter The Matrix element for 1st matrix : ");

scanf("%d",&a[i][j]);

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("\n Enter The Matrix element for 2nd matrix : ");


scanf("%d",&b[i][j]);

for(i=0;i<m;i++)

for(j=0;j<n;j++)

s[i][j]=a[i][j]+b[i][j];

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("%d ",s[i][j]);

printf("\n");

int transporse(int a[3][3],int m,int n)

int i,j;

printf("\n After Transporse : \n ");

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("%d ",a[j][i]);

printf("\n");

}
}

int diagonal(int a[3][3],int m,int n)

int i,j,sum=0;

if(m==n)

for(i=0;i<m;i++)

sum=sum+a[i][m-i-1];

printf("\n Sum of Right Diagonal of a matrix is : %d",sum);

else

printf("\n The Matrix is not a square matrix ");

int lower(int a[3][3],int m,int n)

int i,j;

for(i=0;i<m;i++)

for(j=0;j<n;j++)

if(i<j)

printf(" ");

else

printf("%d ",a[i][j]);
}

printf("\n");

int exiting(int i)

exit(0);

int main()

int i,j,a[3][3],c;

restart:

printf("\n The List of Operation to perform on matrix is as follows : ");

printf("\n 1) Printing the matrix ");

printf("\n 2) Adding two matrices ");

printf("\n 3) To find transporse of matrix ");

printf("\n 4) To find the sum of right diagonal of matrix ");

printf("\n 5) To display the lower triangle of matrix ");

printf("\n 6) To Exit the program ");

printf("\n Enter the Operation you want to perform : ");

scanf("%d",&c);

switch(c)

case 1 :

matrix(a);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

{
printf("%d ",a[i][j]);

printf("\n");

break;

case 2:

int m,n;

printf("\n Enter The No of Rows And Columns in a Matrix : ");

scanf("%d %d",&m,&n);

add(a,m,n);

break;

case 3:

int m,n;

printf("\n Enter The No of Rows And Columns in a Matrix : ");

scanf("%d %d",&m,&n);

int i,j;

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("\n Enter The Matrix element for matrix : ");

scanf("%d",&a[i][j]);

printf("\n Before Transporse :\n ");

for(i=0;i<m;i++)

{
for(j=0;j<n;j++)

printf("%d ",a[i][j]);

printf("\n");

transporse(a,m,n);

break;

case 4:

int m,n;

printf("\n Enter The No of Rows And Columns in a Matrix : ");

scanf("%d %d",&m,&n);

int i,j;

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("\n Enter The Matrix element for matrix : ");

scanf("%d",&a[i][j]);

printf("\n Entered Matrix is : \n");

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("%d ",a[i][j]);

printf("\n");
}

diagonal(a,m,n);

break;

case 5:

int m,n;

printf("\n Enter The No of Rows And Columns in a Matrix : ");

scanf("%d %d",&m,&n);

int i,j;

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("\n Enter The Matrix element for matrix : ");

scanf("%d",&a[i][j]);

printf("\n Entered Matrix is : \n");

for(i=0;i<m;i++)

for(j=0;j<n;j++)

printf("%d ",a[i][j]);

printf("\n");

printf("\n Displaying Only Lower half Of Matrix : \n ");

lower(a,m,n);

break;

}
case 6:

int i,j;

printf("\n Do you want to exit the program \n Enter 1 for yes \n Enter 0 for no \n Enter Your
choice : ");

scanf("%d",&i);

if(i==0)

printf("\n Do you want to restart \n Enter 1 for yes \n Enter 0 for no \n Enter Your choice :
");

scanf("%d",&j);

if(j==1)

goto restart;

else if(j==0)

exiting(i);

else

printf("\n Invalid Choice ");

else if(i==1)

exiting(i);

else

printf("\n Invalid choice ");

}
}

default:

printf("\n Invalid choice ");

Q3)

#include<stdio.h>

int array(int a[3],int n)

int i;

printf("\n Enter %d array elements : ",n);

for(i=0;i<n;i++)

scanf("%d",a+i);

printf("\n The Entered Array is : ");

for(i=0;i<n;i++)

printf("%d ",*(a+i));

int sum(int a[3],int n)

int i,s=0;

printf("\n Enter %d array elements : ",n);

for(i=0;i<n;i++)

scanf("%d",a+i);

}
printf("\n The Entered Array is : ");

for(i=0;i<n;i++)

printf("%d ",*(a+i));

for(i=0;i<n;i++)

s=s+*(a+i);

return s;

int reverse(int a[3],int n)

int i;

printf("\n After reversing : ");

for(i=n-1;i>=0;i--)

printf("%d ",*(a+i));

int large(int a[3],int n)

int i,l;

l=*(a+0);

for(i=1;i<n;i++)

if(l<*(a+i))

l=*(a+i);

}
return l;

int average(int a[3],int n)

int i,s=0,avg;

printf("\n Enter %d array elements : ",n);

for(i=0;i<n;i++)

scanf("%d",a+i);

printf("\n The Entered Array is : ");

for(i=0;i<n;i++)

printf("%d ",*(a+i));

for(i=0;i<n;i++)

s=s+*(a+i);

avg=s/n;

return avg;

int main()

int a[5],c;

printf("\n The List of operations to perform is as follows : ");

printf("\n 1) Printing an array using pointers ");

printf("\n 2) To find the sum of all array elements using pointers ");

printf("\n 3) Printing an array in reverse ");

printf("\n 4) To find the largest element in an array ");

printf("\n 5) To find the average of all array element using pointers ");
printf("\n Enter Your Choice : ");

scanf("%d",&c);

switch(c)

case 1:

int n;

printf("\n Enter The Size of array : ");

scanf("%d",&n);

array(a,n);

break;

case 2:

int n;

printf("\n Enter The Size of array : ");

scanf("%d",&n);

printf("\n Sum of all Array elements is %d",sum(a,n));

break;

case 3:

int n,i;

printf("\n Enter The Size of array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(i=0;i<n;i++)

scanf("%d",(a+i));

printf("\n Before Reversing : ");


for(i=0;i<n;i++)

printf("%d ",*(a+i));

reverse(a,n);

break;

case 4:

int n,i,l;

printf("\n Enter The Size of array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(i=0;i<n;i++)

scanf("%d",(a+i));

printf("\n Entered Array : ");

for(i=0;i<n;i++)

printf("%d ",*(a+i));

l=large(a,n);

printf("\n The Largest Element in an array is %d",l);

break;

case 5:

int n;

printf("\n Enter The Size of array : ");

scanf("%d",&n);
printf("\n Sum of all Array elements is %d",average(a,n));

break;

default:

printf("\n Invalid Input");

}
Q4)

#include<stdio.h>

#include<stdlib.h>

int sort(int a[],int n)

int i,j;

for(i=0;i<n-1;i++)

for(j=0;j<(n-i-1);j++)

if(a[j]>a[j+1])

int t=a[j];

a[j]=a[j+1];

a[j+1]=t;

int linearsearch(int a[],int n,int key)

int j=0;

for(int i=0;i<n;i++)

if(a[i]==key)

printf("\n Element found at %d",i);

exit(0);

}
int binarysearch(int a[],int l,int m,int u,int key)

if(a[m]==key)

printf("\n Element Found At Index %d",m);

if(a[m]>key)

u=m-1;

m=(u+l)/2;

binarysearch(a,l,m,u,key);

if(a[m]<key)

l=m+1;

m=(u+l)/2;

binarysearch(a,l,m,u,key);

int min(int x, int y)

return (x <= y) ? x : y;

int fibonaccisearch(int a[], int n, int key)

int fibMMm2 = 0;

int fibMMm1 = 1;

int fibM = fibMMm2 + fibMMm1;

while (fibM < n) {

fibMMm2 = fibMMm1;

fibMMm1 = fibM;
fibM = fibMMm2 + fibMMm1;

int offset = -1;

while (fibM > 1)

int i = min(offset + fibMMm2, n - 1);

if (a[i] < key)

fibM = fibMMm1;

fibMMm1 = fibMMm2;

fibMMm2 = fibM - fibMMm1;

offset = i;

else if (a[i] > key)

fibM = fibMMm2;

fibMMm1 = fibMMm1 - fibMMm2;

fibMMm2 = fibM - fibMMm1;

else

return i;

if (fibMMm1 && a[offset + 1] == key)

return offset + 1;

return -1;

int main()

int a[5],key,n,c;

retry:
printf("\n The List Of Operation is as follows : \n 1) Linear search \n 2) Binary search \n 3)
Fibonnaci search \n 4) Exit ");

printf("\n Enter The Operation You Want To perform : ");

scanf("%d",&c);

switch(c)

case 1:

printf("\n Enter The Size Of Array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(int i=0;i<n;i++)

scanf("%d",&a[i]);

printf("\n Enter The Element you want to search : ");

scanf("%d",&key);

printf("\n Before Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

sort(a,n);

printf("\n After Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

linearsearch(a,n,key);

break;

}
case 2:

printf("\n Enter The Size Of Array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(int i=0;i<n;i++)

scanf("%d",&a[i]);

int key;

printf("\n Enter The Element you want to search : ");

scanf("%d",&key);

printf("\n Before Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

sort(a,n);

printf("\n After Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

int l=0;

int u=n-1;

int m=(u+l)/2;

binarysearch(a,l,m,u,key);

break;

case 3:

{
printf("\n Enter The Size Of Array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(int i=0;i<n;i++)

scanf("%d",&a[i]);

int key;

printf("\n Enter The Element you want to search : ");

scanf("%d",&key);

printf("\n Before Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

sort(a,n);

printf("\n After Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

int r=fibonaccisearch(a,n,key);

if(r>=0)

printf("\n Element Found at index %d",r);

else

printf("\n Element Not Found");

}
case 4:

int i,j;

printf("\n Do You Want To Exit The Program ? ");

printf("\n Type '1' for Yes or '0' for No ");

printf("\n Enter Your Choice : ");

scanf("%d",&i);

if(i==1)

exit(0);

else if(i==0)

printf("\n Do You Want To Retry The program ? ");

printf("\n Type '1' for Yes or '0' for No ");

printf("\n Enter Your Choice : ");

scanf("%d",&j);

if(j==1)

goto retry;

else if(j==0)

exit(0);

else

printf("\n Invalid Input ");

exit(0);

}
else

printf("\n Invalid Input ");

exit(0);

break;

default:

printf("\n Invalid Input");

exit(0);

}
Q5)

#include<stdio.h>

#include<stdlib.h>

int bubble(int a[],int n)

int i,j;

for(i=0;i<n-1;i++)

for(j=0;j<n-i-1;j++)

if(a[j]>a[j+1])

int t=a[j];

a[j]=a[j+1];

a[j+1]=t;

int insertion(int a[],int n)

int i,j;

for(i=1;i<n;i++)

int k=a[i];

j=i-1;

while(j>=0 && k<=a[j])

a[j+1]=a[j];

j--;

}
a[j+1]=k;

int selection(int a[], int n)

for(int i=0;i<n-1;i++)

int min=i;

for(int j=i+1;j<n;j++)

if(a[j]<a[min])

min=j;

int t=a[i];

a[i]=a[min];

a[min]=t;

int merge(int a[],int l,int m,int r)

int i, j, k;

int n1=m-l+1;

int n2=r-m;

int la[n1], ra[n2];

for(i=0;i<n1;i++)

la[i] = a[l+i];

for(j=0;j<n2;j++)

ra[j] = a[m+1+j];

i=0;
j=0;

k=l;

while(i<n1 && j<n2)

if(la[i] <= ra[j])

a[k] = la[i];

i++;

else

a[k] = ra[j];

j++;

k++;

while(i<n1)

a[k] = la[i];

i++;

k++;

while(j<n2)

a[k] = ra[j];

j++;

k++;

int mergeSort(int a[], int l, int r)

{
if (l<r)

int m=l+(r-l)/2;

mergeSort(a, l, m);

mergeSort(a, m+1,r);

merge(a,l,m,r);

int swap(int *a,int *b)

int t=*a;

*a=*b;

*b=t;

int partition(int a[],int l,int h)

int p=a[h];

int i=l-1;

for(int j=l;j<h;j++)

if(a[j]<=p)

i++;

swap(&a[i],&a[j]);

swap(&a[i+1],&a[h]);

return (i+1);

int quick(int a[],int l,int h)

{
if(l<h)

int pi=partition(a,l,h);

quick(a,l,pi-1);

quick(a,pi+1,h);

int main()

int c,a[100],n;

printf("\n The List Of Operation is As follows : ");

printf("\n 1) Bubble Sort \n 2) Insertion Sort \n 3) Selection Sort \n 4) Merge Sort \n 5) Quick Sort
\n 6) Exit ");

printf("\n Enter Your Choice : ");

scanf("%d",&c);

switch(c)

case 1:

printf("\n Enter The Size Of Array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(int i=0;i<n;i++)

scanf("%d",&a[i]);

printf("\n Array Before Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

}
bubble(a,n);

printf("\n Array After Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

break;

case 2:

printf("\n Enter The Size Of Array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(int i=0;i<n;i++)

scanf("%d",&a[i]);

printf("\n Array Before Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

insertion(a,n);

printf("\n Array After Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

break;

case 3:
{

printf("\n Enter The Size Of Array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(int i=0;i<n;i++)

scanf("%d",&a[i]);

printf("\n Array Before Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

selection(a,n);

printf("\n Array After Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

break;

case 4:

printf("\n Enter The Size Of Array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(int i=0;i<n;i++)

scanf("%d",&a[i]);

printf("\n Array Before Sorting : ");


for(int i=0;i<n;i++)

printf("%d ",a[i]);

mergeSort(a,0,n-1);

printf("\n Array After Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

break;

case 5:

printf("\n Enter The Size Of Array : ");

scanf("%d",&n);

printf("\n Enter %d Array Elements : ",n);

for(int i=0;i<n;i++)

scanf("%d",&a[i]);

printf("\n Array Before Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);

quick(a,0,n-1);

printf("\n Array After Sorting : ");

for(int i=0;i<n;i++)

printf("%d ",a[i]);
}

break;

case 6:

exit(0);

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy