1. program to input m*n matrix form and display it using pointer.
#include<conio.h>
#include<stdio.h>
void main()
{
int *ptr,row,col,a[10][10],i,j;
ptr=&a[0][0];
printf("Enter the row and column size\n");
scanf("%d %d",&row,&col);
printf("Enter the data elements\n");
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%d",((ptr+col*i)+j));
}
}
printf("The elements in matrix form is\n");
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("%d\t",*((ptr+col*i)+j));
}
printf("\n");
}
getch();
}
Output:
2. Program to input m*n matrix form and find sum of diagonal element using pointer.
#include<conio.h>
#include<stdio.h>
void main()
{
int *ptr,m,n,i,j,sum=0,a[10][10];
ptr=a[0];
printf("Enter the size of rows and columns\n");
scanf("%d %d",&m,&n);
printf("Enter the elements for matrix\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",((ptr+n*i)+j));
}
}
printf("The elements of matrix in matrix form is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",*((ptr+n*i)+j));
}
printf("\n");
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(m==n)
{
sum+=*((ptr+n*i)+j);
}
}
}
printf("sum of diagonal element of matrix is %d",sum);
getch();
}
Output:
3. Program to input two matrices and perform matrix multiplication using pointer.
#include<stdio.h>
#include<conio.h>
int main()
{
int *ptr1,*ptr2,*ptr3;
int r1,r2,c1,c2,k,i,j,a[100][100],b[100][100],c[100][100];
ptr1=&a[0][0];
ptr2=&b[0][0];
ptr3=&c[0][0];
printf("Enter size of rows and columns\n");
scanf("%d %d %d %d",&r1,&c1,&r2,&c2);
printf("Enter elements for matrix A\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
scanf("%d",((ptr1+c1*i)+j));
}
}
printf("Enter elements for matrix B\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
scanf("%d",((ptr2+c2*i)+j));
}
}
printf("The elements of matrix A in matrix form is\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf ("%d\t",*((ptr1+c1*i)+j));
}
printf("\n");
}
printf("The elements of matrix B in matrix form is\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf ("%d\t",*((ptr2+c2*i)+j));
}
printf("\n");
}
for(i=0;i<r1;i++)
{
for(j=0;j<c2;j++)
{
*((ptr3+c2*i)+j)=0;
for(k=0;k<c1;k++)
{
*((ptr3+c2*i)+j)+=*((ptr1+c1*i)+k)**((ptr2+c2*k)+j);
}
}
}
printf("The resultant matrix is\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c2;j++)
{
printf("%d\t",*((ptr3+c2*i)+j));
}
printf("\n");
}
getch();
}
4. Program for addition of matrix using pointer.
#include<stdio.h>
#include<conio.h>
void main()
{
int *ptr1,*ptr2,*ptr3;
int m,n,i,j,a[100][100],b[100][100],c[100][100];
ptr1=&a[0][0];
ptr2=&b[0][0];
ptr3=&c[0][0];
printf("Enter size of rows and columns\n");
scanf("%d %d",&m,&n);
printf("Enter elements for matrix A\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",((ptr1+n*i)+j));
}
}
printf("Enter elements for matrix B\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",((ptr2+n*i)+j));
}
}
printf("The elements of matrix A in matrix form is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf ("%d\t",*((ptr1+n*i)+j));
}
printf("\n");
}
printf("The elements of matrix B in matrix form is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf ("%d\t",*((ptr2+n*i)+j));
}
printf("\n");
}
*((ptr3+n*i)+j)==0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
*((ptr3+n*i)+j)=*((ptr1+n*i)+j)+*((ptr2+n*i)+j);
}
}
printf("The resultant addition matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",*((ptr3+n*i)+j));
}
printf("\n");
}
getch();
}
Comments
Post a Comment