1. Program to input n element to an array and display them using function and pointer.
#include<stdio.h>
#include<conio.h>
void input(int *ptr,int n);
void display(int *ptr,int n);
int i;
void main()
{
int array[100],n;
printf("Enter the size of array or number of elements\n");
scanf("%d",&n);
printf("Enter data elements\n");
input(array,n);
printf("The elements in array are\n");
display(array,n);
getch();
}
void input(int *ptr,int n)
{
for(i=0;i<n;i++)
{
scanf("%d",(ptr+i));
}
}
void display(int *ptr,int n)
{
for(i=0;i<n;i++)
{
printf("%d\t",*(ptr+i));
}
}
Output:
2. Program to read n elements in array and display sorting of array using function and pointer.
#include<stdio.h>
#include<conio.h>
void input(int *ptr,int n);
void display(int *ptr, int n);
void sorting(int *ptr,int n);
int i,j;
int main()
{
int a[100],n;
int *ptr=&a[0];
printf("Enter the size of array\n");
scanf("%d",&n);
printf("Enter data elements\n");
input(a,n);
printf("The array elements are\n");
display(a,n);
sorting(a,n);
getch();
}
void input(int *ptr,int n)
{
for(i=0;i<n;i++)
{
scanf("%d",(ptr+i));
}
}
void display(int*ptr,int n)
{
for(i=0;i<n;i++)
{
printf("%d\t",*(ptr+i));
}
}
void sorting(int *ptr,int n)
{
int temp;
for(i=0;i<n-2;i++)
{
for(j=0;j<=n-2-i;j++)
{
if(*(ptr+j)>*((ptr+j)+1))
{
temp= *(ptr+j);
*(ptr+j)=*((ptr+j)+1);
*((ptr+j)+1)= temp;
}
}
}
printf("The sorted away is\n");
for(i=0;i<n;i++)
{
printf("%d\t",*(ptr+i));
}
}
3. Program to input m*n elements and display it using function and pointer.
#include<conio.h>
#include<stdio.h>
void input(int *ptr,int r,int c);
void display(int *ptr,int r,int c);
int i,j;
void main()
{
int *ptr,r,c,a[10][10];
ptr=&a[0][0];
printf("Enter the row and column size\n");
scanf("%d %d",&r,&c);
printf("Enter the data elements\n");
input(a[0],r,c);
printf("The elements in matrix form is\n");
display(a[0],r,c);
getch();
}
void input(int *ptr,int r,int c)
{
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
scanf("%d",((ptr+c*i)+j));
}
}
}
void display(int *ptr,int r,int c)
{
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%d\t",*((ptr+c*i)+j));
}
printf("\n");
}
}
Program to perform matrix multiplication using function and pointer.
#include <stdio.h>
#include <conio.h>
void input(int *ptr1,int r1,int c1);
void display(int *ptr2,int r2,int c2);
void multi(int *ptr3,int *ptr4,int r1,int c1,int r2,int c2);
int i,j,n;
void main()
{
int *ptr1,*ptr2,*ptr3;
int r1,r2,c1,c2,a[10][10],b[10][10],c[10][10];
ptr1=&a[0][0];
ptr2=&b[0][0];
ptr3=&c[0][0];
printf("Enter size of rows and columns for matrix A\n");
scanf("%d %d",&r1,&c1);
printf("Enter size of rows and columns for matrix B\n");
scanf("%d %d",&r2,&c2);
printf("Enter elements for matrix A\n");
input(a[0],r1,c1);
printf("The elements of matrix A in matrix form is\n");
display(a[0],r1,c1);
printf("Enter elements for matrix B\n");
input(b[0],r2,c2);
printf("The elements of matrix B in matrix form is\n");
display(b[0],r2,c2);
multi(a[0],b[0],r1,c1,r2,c2);
getch();
}
void input(int *ptr1,int r1,int c1)
{
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
scanf("%d",((ptr1+c1*i)+j));
}
}
}
void display(int *ptr2,int r2,int c2)
{
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf ("%d\t",*((ptr2+c2*i)+j));
}
printf("\n");
}
}
void multi(int *ptr3,int *ptr4,int r1,int c1,int r2,int c2)
{
int k;
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)+=*((ptr3+c1*i)+k)**((ptr3+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");
}
}
Comments
Post a Comment