Beruflich Dokumente
Kultur Dokumente
Write a Program using pointers and dynamic memory allocation to perform the following.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, c, *pointer;
scanf("%d",&n);
pointer = (int*)malloc(sizeof(int)*n);
reverse_array(pointer, n);
free(pointer);
return 0;
}
s = (int*)malloc(sizeof(int)*n);
if( s == NULL )
exit(EXIT_FAILURE);
free(s);
}
OUTPUT :
[eeeb84@sel-61 ~]$ gedit f1.c
#include<stdio.h>
#include<stdlib.h>
void main()
int *a,n,i,j,t;
printf("\nEnter the number of integers to be sorted in ascending order: ");
scanf("%d",&n);
for(i=0;i<=n-1;i++)
scanf("%d", (a+i));
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
if(*(a+i)<*(a+j))
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
for(i=0;i<n;i++)
printf("\n%d",*(a+i));
OUTPUT:
#include<stdio.h>
#include<stdlib.h>
void main()
int *a,n,i,j,t;
scanf("%d",&n);
for(i=0;i<=n-1;i++)
scanf("%d", (a+i));
}
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
if(*(a+i)>*(a+j))
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
for(i=0;i<n;i++)
printf("\n%d",*(a+i));
OUTPUT :
3
2
3. Sum of n numbers
#include <stdio.h>
#include <stdlib.h>
int main(){
int n,i,*ptr,sum=0;
scanf("%d",&n);
if(ptr==NULL)
{
printf("Error! memory not allocated.");
exit(0);
for(i=0;i<n;++i)
scanf("%d",ptr+i);
sum+=*(ptr+i);
printf("Sum=%d",sum);
free(ptr);
return 0;
OUTPUT:
Sum=6
#include<stdio.h>
#include<stdlib.h>
int main()
printf("\n");
printf("m=");
scanf("%d", &p);
printf("n=");
scanf("%d", &q);
printf("\n");
printf("m=");
scanf("%d", &r);
printf("n=");
scanf("%d", &s);
if(p==r&&q==s)
m1=(int*)calloc(p*q, sizeof(int));
m2=(int*)calloc(r*s, sizeof(int));
a=(int*)calloc(p*s, sizeof(int));
for(i=0;i<p;i++)
for(j=0;j<q;j++)
scanf("%d",(m1+i*q+j));
for(i=0;i<r;i++)
{
for(j=0;j<s;j++)
scanf("%d",(m2+i*r+j));
printf("\nAddition:");
for(i=0;i<p;i++)
for(j=0;j<q;j++)
*(a+i*q+j)=*(m1+i*q+j)+(*(m2+i*r+j));
for(i=0;i<p;i++)
printf("\n");
for(j=0;j<q;j++)
printf("%d\t",*(a+i*q+j));
return 0;
OUTPUT:
m=3
n=2
m=3
n=2
10
12
Addition:
3 6
9 12
15 18
5. Dynamic memory allocation to develop a mark sheet of 5 students.
# include <string.h>
# include <stdio.h>
struct student
char name[10];
int m[3];
int total;
char result[5];
}*p,*s;
void main()
int i,j,l,n;
scanf("%d",&n);
s=p;
for(i=0;i<n;i++)
scanf("%s",&p->name);
p-> total=0;l=0;
for(j=0;j<3;j++)
scanf("%d",&p->m[j]);
if((p->m[j])>100)
goto one;
p->total+=p->m[j];
if(p->m[j]<40)
l=1;
if(l==0)
strcpy(p->result,"PASS");
else
strcpy(p->result,"FAIL");
p++;
for(i=0;i<n;i++)
printf("\n%s\t%s",s->name,s->result);
s++;
OUTPUT:
sakthi PASS
sak PASS
rafe FAIL
nathan PASS
vijay FAIL