Professional Documents
Culture Documents
DSA Lab Record - 2: Name: Vanshvardhan Punia Roll Number: 20051048
DSA Lab Record - 2: Name: Vanshvardhan Punia Roll Number: 20051048
I/P:#include<stdio.h>
#include<stdlib.h>a
int main()
{
int max,min,count=0,n,i;
printf("Enter number of elements in the array: ");
scanf("%d",&n);
int *arr;
arr=(int*)malloc(n*(sizeof(int)));
printf("Enter the numbers: ");
for(i=0;i<n;i++)
{
scanf("%d",arr+i);
}
printf("Max number: ");
scanf("%d",&max);
printf("Min number: ");
scanf("%d",&min);
printf("NUmbers between %d and %d\n",min,max);
for(i=0;i<n;i++)
{
if(*(arr+i)<=max && *(arr+i)>=min)
{
count=count+1;
printf("%d ",*(arr+i));
}
}
printf("\nNumber of elements are: %d",count);
return 0;
}
O/P:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,count=0,i,j;
int neg=-1;
printf("Enter the number of elements: ");
scanf("%d",&n);
int *arr;
arr=(int*)malloc(n*sizeof(int));
printf("Enter the numbers: ");
for(i=0;i<n;i++)
{
scanf("%d",arr+i);
}
for(i=0;i<n;i++)
{
printf("Next greatest element of %d is ",*(arr+i));
neg=-1;
for(j=(i+1);j<n;j++)
{
if(*(arr+j)>*(arr+i))
{
neg=*(arr+j);
break;
}
}
printf("%d\n",neg);
}
return 0;
}
O/P:
HOME ASSIGNMENT:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void distance(int *arr,int n,int s_e,int l_e)
{
int s,l;
for(int i=0;i<n;i++){
if(arr[i]==s_e){
s=i;
break;
}
}
for(int i=0;i<n;i++){
if(arr[i]==l_e){
l=i;
break;
}
}
int k=(l-s);
printf("%d",k);
}
int main ()
{
int n;
scanf("%d",&n);
int *arr=(int *)malloc(n*sizeof(int));
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
int small_element,large_element;
scanf("%d",&small_element);
scanf("%d",&large_element);
distance(arr,n,small_element,large_element);
return 0;
}
O/P:
I/P:
#include <stdio.h>
void main ()
{
int number[30];
int i, j, a, n, counter, average;
printf("Enter the value of N:\n");
scanf("%d", &n);
printf("Enter the numbers: \n");
for (i = 0; i < n; ++i)
scanf("%d", &number[i]);
for (i = 0; i < n; ++i){
for (j = i + 1; j < n; ++j){
if (number[i] < number[j]){
a = number[i];
number[i] = number[j];
number[j] = a;
}
}
}
printf("The numbers arranged in descending order are given below \n");
for (i = 0; i < n; ++i)
{
printf("%d ", number[i]);
}
printf("\nThe 2nd largest number is = %d\n", number[1]);
printf("\nThe 2nd smallest number is = %d\n", number[n - 2]);
}
O/P:
I/P:
#include<stdio.h>
#include<stdlib.h>
int main(){
int N;
printf("enter size of array: ");
scanf("%d",&N);
int *A = (int*)malloc(N*sizeof(int));
for(int i=0; i<N; i++)
scanf("%d",&A[i]);
int *ans = (int*)malloc(N*sizeof(int));
int le=0, lo=N-1;
for(int i=0;i<N;i++){
if(A[i]%2 == 0){
ans[le++] = A[i];
}
if(A[i]%2 != 0){
ans[lo--] = A[i];
}
}
for(int i = 0; i<N; i++){
printf("%d ",ans[i]);
}
printf("\n");
return 0;
}
O/P:
I/P:
#include<stdio.h>
#include<stdlib.h>
int main(){
int N;
int *A,*B,*ans,b_ptr=0;
printf("enter number of elements:");
scanf("%d",&N);
A = (int*)malloc(N*sizeof(int));
B = (int*)malloc(N*sizeof(int));
for(int i=0;i<N;i++){
scanf("%d",&A[i]);
}
int j;
for(int i=0;i<N;i++){
for(j=b_ptr;j>=0;j--){
if(A[B[j]] > A[i]){
break;
}else{
A[B[j]] = A[i];
}
}
j++;
b_ptr = j;
B[b_ptr] = i;
}
for(int i = 0; i<=b_ptr; i++)
A[B[i]] = -1;
for(int i=0;i<N;i++)
printf("%d ",A[i]);
printf("\n");
return 0;
}
O/P:
I/P:
#include<stdio.h>
#include<limits.h>
#include<stdlib.h>
int main()
{
int N;
printf("enter size of array: ");
scanf("%d",&N);
int * A = (int *)malloc((N+2)*sizeof(int));
A[0] = 1;
A[N+1] = 1;
for(int i=1;i<=N;i++)
scanf("%d",&A[i]);
int p=A[0];
for(int i=1;i<=N;i++)
{
int t = A[i];
A[i] = p * A[i+1];
p = t;
}
for(int i =1;i<=N;i++)
{
printf("%d ",A[i]);
}
return 0;
}
O/P:
I/P:
#include <stdio.h>
void main()
{
static int array1[10][10], array2[10][10];
int i, j, k, a, m, n;
printf("Enter the order of the matrix \n");
scanf("%d %d", &m, &n);
printf("Enter co-efficients of the matrix \n");
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
scanf("%d", &array1[i][j]);
array2[i][j] = array1[i][j];
}
}
printf("The given matrix is \n");
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
printf(" %d", array1[i][j]);
}
printf("\n");
}
printf("After arranging rows in ascending order\n");
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
for (k =(j + 1); k < n; ++k)
{
if (array1[i][j] > array1[i][k])
{
a = array1[i][j];
array1[i][j] = array1[i][k];
array1[i][k] = a;
}
}
}
}
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
printf(" %d", array1[i][j]);
}
printf("\n");
}
printf("After arranging the columns in descending order \n");
for (j = 0; j < n; ++j)
{
for (i = 0; i < m; ++i)
{
for (k = i + 1; k < m; ++k)
{
if (array2[i][j] < array2[k][j])
{
a = array2[i][j];
array2[i][j] = array2[k][j];
array2[k][j] = a;
}
}
}
}
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
printf(" %d", array2[i][j]);
}
printf("\n");
}
}
O/P:
I/P:
#include<stdio.h>
#include<stdlib.h>
void go()
{
printf("Enter the size of array : ");
int n;
scanf("%d",&n);
int *arr;
arr=(int *)malloc(n*sizeof(int));
for(int i=0;i<n;i++){
scanf("%d",&arr[i]);
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if((arr+j)<(arr+i)){
int temp=*(arr+j);
*(arr+j)=*(arr+i);
*(arr+i)=temp;
}
}
}
for(int i=0;i<n;i++){
printf("%d ",arr[i]);
}
printf("\n");
int s,l;
scanf("%d %d",&s,&l);
for(int i=0;i<n;i++){
if(s==i){
printf("small = %d",arr[i]);
}
}
for(int j=n;j>=0;j--){
if(j==l){
printf("\nlarge = %d",arr[j]);
}
}
}
int main ()
{
printf("Enter the test case we need to pass : ");
int t;
scanf("%d",&t);
while(t--){
go();
}
}
O/P:
I/P:
#include<stdio.h>
#include<limits.h>
#include<stdlib.h>
int main(){
int N;
printf(" ENTER SIZE OF ARRAY :");
scanf("%d",&N);
int * A = (int *)malloc(N*sizeof(int));
for(int i=0;i<N;i++)
scanf("%d",&A[i]);
int L=A[0], cts=1;
for(int i=0;i<N;i++){
if(A[i] == L)
cts++;
if(A[i] > L){
L = A[i];
cts = 1;
}
}
printf("LARGEST ELEMENT: %d \nOCCURENCES: %d\n",L,cts);
return 0;
}
O/P:
I/P:
#include<stdio.h>
#include<limits.h>
#include<stdlib.h>
int main(){
int N;
printf(" ENTER SIZE OF ARRAY :");
scanf("%d",&N);
int * A = (int *)malloc(N*sizeof(int));
for(int i=0;i<N;i++)
scanf("%d",&A[i]);
int * ans = (int *)malloc(N*sizeof(int));
int le = 0, lo=N-1;
for(int i=0;i<N;i++){
if(A[i] == 0)
ans[le++] = A[i];
if(A[i] == 1)
ans[lo--] = A[i];
}
for(int i=0;i<N;i++)
printf("%d ",ans[i]);
printf("\n");
return 0 ;
}
O/P:
I/P:
#include<stdio.h>
#include<stdlib.h>
int main(){
int M,N;
printf(" ENTER SIZE OF ARRAY m&n :");
scanf("%d%d",&M,&N);
int **A = (int **)malloc(M*sizeof(int));
for(int i=0; i<N;i++){
A[i] = (int *)malloc(N*sizeof(int));
}
for(int i=0; i<M;i++){
for(int j=0; j<N;j++){
scanf("%d",&A[i][j]);
}
}
for(int i=0;i<M/2;i++){
int r1 = i,r2=M-i-1;
for(int j=0;j<N;j++){
int t = A[r1][j];
A[r1][j] = A[r2][j];
A[r2][j] = t;
}
}
for(int i=0;i<M;i++){
for(int j=0;j<N;j++){
printf("%d ",A[i][j]);
}
printf("\n");
}
return 0 ;
}
O/P;
I/P:
#include <stdio.h>
void main()
{
int arr1[10], arr2[10], arr3[10];
int i,j=0,k=0,n;
printf("enter number of elements:");
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&arr1[i]);
}
for(i=0;i<n;i++){
if (arr1[i]%2 == 0){
arr2[j] = arr1[i];
j++;
}
else{
arr3[k] = arr1[i];
k++;
}
}
printf("\nThe Even elements are : \n");
for(i=0;i<j;i++){
printf("%d ",arr2[i]);
}
printf("\nThe Odd elements are :\n");
for(i=0;i<k;i++){
printf("%d ", arr3[i]);
}
}
O/P: