Showing posts with label Array. Show all posts
Showing posts with label Array. Show all posts

Multiplication of matrix

Program:

#include<stdio.h>
int main()
{
int a[4][4],b[4][4],c[4][4],m,n,p,q,i,j,k;
printf("Enter no. of rows in matrix A: ");
scanf("%d",&m);
printf("Enter no. of columns in matrix A: ");
scanf("%d",&n);
printf("Enter no. of rows in matrix B: ");
scanf("%d",&p);
printf("Enter no. of columns in matrix B: ");
scanf("%d",&q);
if(n!=p) /*no. of cols of matrix A and no. of rows of matrix B should match for multiplication*/
{
printf("Size do not match.Multiplication not possible...");
return 0;
}
printf("Enter matrix A row wise\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("a[%d][%d]=  ",i,j);
scanf("%d",&a[i][j]);
}
printf("\n");
}

printf("Enter matrix B row wise\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
printf("b[%d][%d]=  ",i,j);
scanf("%d",&b[i][j]);
}
printf("\n");
}

printf("Matrix A \n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}

printf("Matrix B \n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
printf("%4d",b[i][j]);
}
printf("\n");
}

printf("Multiplication of Matrix A and B \n");
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
{
c[i][j]=0;
for(k=0;k<n;k++)
{
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}

printf("%4d",c[i][j]);
}
printf("\n");
}
return 0;

}

Output:



Symmetric Matrix

Program:

#include<stdio.h>
int main()
{
int a[4][4],n,i,j,flag=0;
printf("Enter value of n: ");    /*rows and cols*/
scanf("%d",&n);
printf("Enter matrix A row-wise: \n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("a[%d][%d]=  ",i,j);
scanf("%d",&a[i][j]);
}
printf("\n");
}
printf("Matrix A : \n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[i][j]!=a[j][i])
{
flag=1;
break;
}
}
}
if(flag==1)
{
printf("Not Symmetric Matrix");
}
else
{
printf("Symmetric Matrix");
}
return 0;

}

Output:




Transpose of matrix

Program:

#include<stdio.h>
int main()
{
int a[4][4],n,i,j;
printf("Enter value of n: ");    /*rows and cols*/
scanf("%d",&n);
printf("Enter matrix A row-wise: \n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("a[%d][%d]=  ",i,j);
scanf("%d",&a[i][j]);
}
printf("\n");
}
printf("Matrix A : \n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}

printf("Transpose of Matrix A: \n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%4d",a[j][i]);
}
printf("\n");
}

return 0;

}

Output:



Sum of matrix

Program:

#include<stdio.h>
int main()
{
int a[4][4],b[4][4],c[4][4],m,n,p,q,i,j;
printf("Enter no. of rows in matrix A: \n");
scanf("%d",&m);
printf("Enter no. of columns in matrix A: \n");
scanf("%d",&n);
printf("Enter no. of rows in matrix B: \n");
scanf("%d",&p);
printf("Enter no. of columns in matrix B: \n");
scanf("%d",&q);
if(m!=p || n!=q)
{
printf("Size do not match.Addition not possible...");
return 0;
}
printf("Enter matrix A row wise\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("a[%d][%d]=  ",i,j);
scanf("%d",&a[i][j]);
}
printf("\n");
}

printf("Enter matrix B row wise\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
printf("b[%d][%d]=  ",i,j);
scanf("%d",&b[i][j]);
}
printf("\n");
}

printf("Matrix A \n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}

printf("Matrix B \n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
printf("%4d",b[i][j]);
}
printf("\n");
}

printf("Sum = Matrix C \n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%4d",c[i][j]);
}
printf("\n");
}
return 0;

}

Output:




Binary search

Program:

#include<stdio.h>
int main()
{
int a[100],n,first,last,middle,search,i,flag=-1;
printf("Enter no. of elements: \n");
scanf("%d",&n);
printf("Enter array elements: \n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}

printf("Enter value to find\n");
 scanf("%d",&search);

 first=0;
 last=n-1;
 while(first<=last)
{
middle=(first+last)/2;
  if(search<a[middle])
  {
  last=middle-1;
}
else if(search>a[middle])
{
first=middle+1;
}
else
{
flag=middle;
break;
}
 }
  if(flag==-1)
  {
   printf("Unsuccessful search...");
   }
  else
  {
   printf("Successful search at position %d",flag);
   }
    return 0;
}

Output:




Linear search

Program:

#include<stdio.h>
int main()
{
int a[100],n,search,i,flag=-1;
printf("Enter no. of elements: \n");
scanf("%d",&n);
printf("Enter array elements: \n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}

printf("Enter value to find\n");
        scanf("%d",&search);
  for(i=0;i<n;i++)
{
if(a[i]==search)
{
flag=i;
break;
}
}
 
if(flag>=0)
{
    printf("Successful search at position %d",flag);
}
else
{
    printf("Unsuccessful search...");
 }
return 0;
}

Output:




Insertion sort

Program:

#include<stdio.h>
int main()
{
int a[100],n,temp,i,j;
printf("Enter no. of elements: \n");
scanf("%d",&n);
printf("Enter array elements: \n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<n;i++)
{
temp = a[i];
for(j=i-1;j>=0 && temp<a[j] ;j--)
{
a[j+1] = a[j];
}
a[j+1]=temp;
}
printf("Sorted elements...\n");
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
    return 0;

}

Output:



Selection sort

Program:

#include<stdio.h>
int main()
{
int a[100],i,j,temp,n,k;
printf("Enter no. of elements: \n");
scanf("%d",&n);
printf("Enter array elements: \n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
k=i;
for(j=i;j<n;j++)
{
if(a[k]>a[j])
{
k=j;
}
}
if(k!=i)
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
printf("Sorted elements...\n");
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
return 0;

}

Output:



Bubble sort

Program:

#include<stdio.h>
int main()
{
int a[50],i,j,temp,n;
printf("Enter no. of elements: \n");
scanf("%d",&n);
printf("Enter array elements: \n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("Sorted elements...\n");
for(i=0;i<n;i++)
{
printf("%4d",a[i]);
}
return 0;
}

Output:



Sort array in ascending and descending order

Program:

#include<stdio.h>
int main()
{
int a[10],i,j,n,temp;
printf("Enter no. of elements: ");
scanf("%d",&n);
printf("Enter %d numbers:\n",n);
for(i=0;i<n;i++)
{
  scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
  if(a[i] > a[j])
{
  temp = a[i];
  a[i] = a[j];
  a[j] = temp;
}
}
}
printf("Ascending order: \n");
for(i=0;i<n;i++)
{
  printf("%4d",a[i]);
}
printf("\nDescending order: \n");
for(i=n-1;i>=0;i--)
{
  printf("%4d",a[i]);
}
return 0;

}

Output:


No. of even and odd elements from array

Program:

#include<stdio.h>
int main()
{
int a[10],i,even=0,odd=0,n;
printf("Enter no. of elements: ");
scanf("%d",&n);
printf("Enter %d numbers:\n",n);
for(i=0;i<n;i++)
{
  scanf("%d",&a[i]);
  if(a[i]%2==0)
  {
  even++;
  }
  else
  {
  odd++;
  }
}
printf("Even numbers: %d \nOdd numbers: %d",even,odd);
return 0;

}

Output:



Sum of two array and store them in third array

Program:

#include<stdio.h>
int main()
{
int a[10],b[10],c[10],n,i;
printf("Enter size of array: ");
scanf("%d",&n);
printf("Enter %d elements of array A:\n",n);
for(i=0;i<n;i++)
{
  scanf("%d",&a[i]);
}
printf("Enter %d elements of array B:\n",n);
for(i=0;i<n;i++)
{
  scanf("%d",&b[i]);
}
for(i=0;i<n;i++)
{
  c[i]=a[i]+b[i];
}
printf("Third array: \n");
for(i=0;i<n;i++)
{
  printf("%d\t",c[i]);
}
return 0;

}

Output:



Maximum and minimum number of array

Program:

#include<stdio.h>
int main()
{
int num[10],i,max=0,min=0,n;
printf("Enter no. of elements: ");        /* within array size*/
scanf("%d",&n);
printf("Enter %d numbers:\n",n);
for(i=0;i<n;i++)
{
  scanf("%d",&num[i]);
  if(num[i]>max)
  {
  max=num[i];
  }
  if(num[i]<min)
  {
  min=num[i];
  }
}
printf("Maximum = %d \nMinimum = %d",max,min);
return 0;

}

Output:



Sum of numbers using array

Program:

#include<stdio.h>
int main()
{
int num[10],i,sum=0,n;
printf("Enter no. of elements: "); /* not more than 10 */
scanf("%d",&n);
printf("Enter %d numbers:\n",n);
for(i=0;i<n;i++)
{
  scanf("%d",&num[i]);
  sum=sum+num[i];
}
printf("Sum of %d numbers: %d",n,sum);
return 0;

}

Output:



x^y using recursion

Program: #include<stdio.h> int power(int a,int b); int main() { int x,y,ans; printf("Enter x and y:\n "); scanf(...