Q1). Write a ‘C’ functions to
input from user appropriate values into matrices A and B. Use suitable loops.
Make use of pointers if necessary.
Ans)
#include<stdio.h>
#include<conio.h>
#define MAX 3
void input(int [][MAX]);
void print(int [][MAX]);
void main()
{
int ar[MAX][MAX],
br[MAX][MAX];
clrscr();
printf("Enter Elements in Matrix A
\n");
input(ar);
printf("Enter Elements in Matrix B
\n");
input(br);
printf("Matrix A Look Like \n");
print(ar);
printf("Matrix B Look Like \n");
print(br);
getch();
}
void input(int ar[][MAX])
{
int r,c;
for(r=0;r<MAX;r++)
{
for(c=0;c<MAX;c++)
{
printf("Enter
number>> ");
scanf("%d",&ar[r][c]);
}
}
}
void print(int ar[][MAX])
{
int r,c;
for(r=0;r<MAX;r++)
{
for(c=0;c<MAX;c++)
{
printf("\t%d",ar[r][c]);
}
printf("\n");
}
}
Q2). Write a
‘C’ function to calculate matrix C such that C=A+B Use suitable loops. Make use
of pointers if necessary.
Ans)
#include<stdio.h>
#include<conio.h>
#define MAX 3
void add(int [][MAX],int [][MAX],int [][MAX]);
void print(int [][MAX]);
void main()
{
int a1[MAX][MAX],a2[MAX][MAX],a3[MAX][MAX],r,c;
clrscr();
printf("\nFirst Array
Input\n");
for(r=0;r<MAX;r++)
{
for(c=0;c<MAX;c++)
{
printf("Enter
number>> ");
scanf("%d",&a1[r][c]);
}
}
printf("\nSecond Array
Input\n");
for(r=0;r<MAX;r++)
{
for(c=0;c<MAX;c++)
{
printf("Enter
number>> ");
scanf("%d",&a2[r][c]);
}
}
add(a1,a2,a3);
clrscr();
printf("\nFirst
Array\n");
print(a1);
printf("\nSecond
Array\n");
print(a2);
printf("\nThird
Array\n");
print(a3);
getch();
}
void add(int a[][MAX],int b[][MAX],int c[][MAX])
{
int R,C;
for(R=0;R<MAX;R++)
{
for(C=0;C<MAX;C++)
{
c[R][C]=a[R][C]+b[R][C];
}
}
}
void print(int a[][MAX])
{
int r,c;
for(r=0;r<MAX;r++)
{
for(c=0;c<MAX;c++)
{
printf("\t%d",a[r][c]);
}
printf("\n");
}
}
Q3).
Write a suitable ‘C’ program to print the following structure. The number of
rows should be input from the user.
*
**
***
****
*****
******
Ans)
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
}
Q4). Write
a program to input a 3x3 matrix and to print its transpose.
Ans)
#include
<stdio.h>
int main()
{
int
a[10][10], transpose[10][10], r, c;
printf("Enter
rows and columns: ");
scanf("%d
%d", &r, &c);
printf("\nEnter
matrix elements:\n");
for
(int i = 0; i < r; ++i){
for
(int j = 0; j < c; ++j) {
printf("Enter
element a%d%d: ", i + 1, j + 1);
scanf("%d",
&a[i][j]);
}
}
printf("\nEntered
matrix: \n");
for
(int i = 0; i < r; ++i){
for
(int j = 0; j < c; ++j) {
printf("%d ", a[i][j]);
if
(j == c - 1){
printf("\n");
}
}
}
for
(int i = 0; i < r; ++i){
for
(int j = 0; j < c; ++j) {
transpose[j][i]
= a[i][j];
}
}
printf("\nTranspose
of the matrix:\n");
for
(int i = 0; i < c; ++i){
for
(int j = 0; j < r; ++j) {
printf("%d ", transpose[i][j]);
if
(j == r - 1){
printf("\n");
}
}
}
return 0;
}
Q5) a lucas
sequence is given: 1, 3, 4, 7, 11, 18, 29 The third number is sum of previous
two numbers. Write a program to print first 10 numbers of lucas sequence.
Ans)
#include<stdio.h>
void main()
{
int a,b,c;
clrscr();
a=1;
b=3;
printf("\n\t%d\t%d",a,b);
c=0;
while(c<50)
{
c=a+b;
a=b;
b=c;
printf("\t%d",c);
}
}
Q6) Write a
program to print the value of numbers in words when number entered is in the
range of 0 to 999.
Ans)
#include<stdio.h>
#include<conio.h>
void single(int);
int reverce(int);
void ten(int);
void hundred(int);
void printhundred(int);
void main()
{
int n;
clrscr();
printf("Enter
number>> ");
scanf("%d",&n);
if(n>999){
puts("Out of Range
!!");
}
else
{
if(n<10){
single(n);
}else if(n<100)
{
if(n<20)
{
n=reverse(n);
if(n==1){
printf("
Ten");
}else{
ten(n/=10);
}
}
else
{
printhundred(n);
}
}
else
{
single(n/100);
printf("
Hundred");
printhundred(n-(100*(reverse(n)%10)));
}
}
getch();
}
void printhundred(int n)
{
n=reverse(n);
if(n<10){
hundred(n);
}else
{
hundred(n%10);
single(n/=10);
}
}
void hundred(int n)
{
char *ar[]={"","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"};
printf("
%s",ar[--n]);
}
void ten(int n)
{
char *ar[]={"","Elevan","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};
printf("
%s",ar[n]);
}
int reverse(int n)
{
int m=0;
while(n>0)
{
m=m*10+(n%10);
n/=10;
}
return m;
}
void single(int n)
{
char *ar[]={"Zero","One","Two","Three","Four","Five","Six","Seven","EIght","Nine"};
printf("
%s",ar[n]);
}
Q7) Write a
program using pointer to find greatest number in an array.
Ans)
#include<stdio.h>
#define MAX 5
void main()
{
int ar[MAX],*pt,h,i;
for(i=0;i<MAX;i++)
{
printf("Enter
Number>> ");
scanf("%d",&ar[i]);
}
h=ar[0];
for(pt=ar,i=0;i<MAX;pt++,i++)
{
if(*pt>h)
h=*pt;
}
printf("Highest
Value is %d",h);
}
Q8) Write a
program to copy a file into another file.
Ans)
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fptr1, *fptr2;
char filename[100], c;
printf("Enter the filename to open for reading \n");
scanf("%s", filename);
fptr1 = fopen(filename, "r");
if (fptr1 == NULL)
{
printf("Cannot open file %s \n", filename);
exit(0);
}
printf("Enter the filename to open for writing \n");
scanf("%s", filename);
fptr2 = fopen(filename, "w");
if (fptr2 == NULL)
{
printf("Cannot open file %s \n", filename);
exit(0);
}
c = fgetc(fptr1);
while (c != EOF)
{
fputc(c, fptr2);
c = fgetc(fptr1);
}
printf("\nContents copied to %s", filename);
fclose(fptr1);
fclose(fptr2);
return 0;
}
Q9) Write a program to multiply two matrices.
Ans)
#include<stdio.h>
#include<conio.h>
void main()
{
int ar1[3][3],ar2[3][3],ar3[3][3],r,c,m,tmp;
clrscr();
printf("first
array input\n");
for(r=0;r<3;r++)
{
for(c=0;c<3;c++)
{
printf("Enter
no ");
scanf("%d",& ar1[r][c]);
}
}
printf("second
array\n");
for(r=0;r<3;r++)
{
for(c=0;c<3;c++)
{
printf("Enter
no ");
scanf("%d", &ar2[r][c]);
}
}
/* Multiplication */
for(r=0;r<3;r++)
{
for(c=0;c<3;c++)
{
for(m=0,tmp=0;m<3;m++)
tmp+=ar1[r][m]*ar2[m][c];
ar3[r][c]=tmp;
}
}
clrscr();
printf("\nFirst
array\n");
for(r=0;r<3;r++)
{
for(c=0;c<3;c++)
{
printf("\t%d",ar1[r][c]);
}
printf("\n");
}
printf("\nSecond
array\n");
for(r=0;r<3;r++)
{
for(c=0;c<3;c++)
{
printf("\t%d",ar2[r][c]);
}
printf("\n");
}
printf("\nMultiplication
of array\n");
for(r=0;r<3;r++)
{
for(c=0;c<3;c++)
{
printf("\t%d",ar3[r][c]);
}
printf("\n");
}
getch();
}
Q10) Write program to compute factorial of a user input number
using recursive function.
Ans)
#include<stdio.h>
int fact(int);
void main()
{
int i;
printf("enter
number for factorial>> ");
scanf("%d",&i);
printf("\n\t%d",fact(i));
}
int fact(int n)
{
if(n==0)
return 1;
else
return(n*fact(n-1));
}
Q11) Write a
program to write records of students in a file, where each record consists of
student name, roll number, CGPA, and address. Read the records back from the
file and display them.
Ans)
#include<stdio.h>
#include<conio.h>
struct stu
{
char name[20];
int roll;
int cgpa;
char add[20];
};
void main()
{
FILE
*ft;
struct stu ob;
int r,i;
clrscr();
ft=fopen("test.txt","w");
if(ft==NULL)
puts("Output file opening error");
else
{
printf("How many record you want to enter>> ");
scanf("%d",&r);
for(i=1;i<=r;i++)
{
fflush(stdin);
printf("\nEnter name for %d record>> ",i);
gets(ob.name);
printf("Enter roll for %d record>> ",i);
scanf("%d",&ob.roll);
printf("Enter CGPA for %d record>> ",i);
scanf("%d",&ob.cgpa);
fflush(stdin);
printf("Enter address for %d record>> ",i);
gets(ob.add);
fwrite(&ob,sizeof(ob),1,ft);
}
fclose(ft);
ft=fopen("test.txt","rb");
clrscr();
while(fread(&ob,sizeof(ob),1,ft)==1)
{
printf("\n\nName=%s",ob.name);
printf("\nRoll=%d",ob.roll);
printf("\nCGPA=%d",ob.cgpa);
printf("\nAddress=%s",ob.add);
}
}
getch();
}
Q12) Write a
program to input a set of numbers into an array. Pass the array to a function
that finds and display the largest
number.
Ans)
#include<stdio.h>
#include<conio.h>
void find(int ar[5]);
void main()
{
int ar[5],i;
clrscr();
for(i=0;i<5;i++)
{
printf("Enter Number>> ");
scanf("%d",&ar[i]);
}
find(ar);
getch();
}
void find(int ar[5])
{
int i,j;
j=ar[0];
for(i=1;i<5;i++)
{
if(j<ar[i])
j=ar[i];
}
printf("\nLargest No. is %d",j);
}
Q13) Write a
program using dynamic memory allocation to read numbers as input and display them
in sorted order thereafter.
Ans)
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
int *a,r,n,j,tmp;
clrscr();
printf("How many number you want to enter>> ");
scanf("%d",&r);
a=(int *) malloc(r*sizeof(int));
for(n=0;n<r;n++)
{
printf("Enter %d position number>>",n+1);
scanf("%d",(a+n));
}
for(n=0;n<r;n++)
{
for(j=0;j<r-1-n;j++)
{
if(*(a+j)>*(a+j+1))
{
tmp=*(a+j);
*(a+j)=*(a+j+1);
*(a+j+1)=tmp;
}
}
}
printf("\n\nSort order print\n");
for(n=0;n<r;n++)
printf("\t%d",*(a+n));
getch();
}
Q14) Write a
program to concatenate two strings.(Do not use inbuilt string function).
Ans)
#include<stdio.h>
#include<conio.h>
void main()
{
char ar1[20],ar2[20],ar3[40];
int i,j;
printf("Enter first string>> ");
gets(ar1);
printf("Enter Second string>> ");
gets(ar2);
for(i=0;ar1[i]!='\0';i++)
ar3[i]=ar1[i];
for(j=0;ar2[j]!='\0';j++,i++)
ar3[i]=ar2[j];
ar3[i]='\0';
printf("\nFirst string is %s",ar1);
printf("\nSeocnd string is %s",ar2);
printf("\nConcatenation string is %s",ar3);
getch();
}
Q15) Write a
‘C’ program to find the frequency of characters in a String.
Ans)
#include<stdio.h>
#include<conio.h>
#define MAX 50
void main()
{
char ar[MAX],temp[26];
int i,j,k,s;
clrscr();
printf("Enter
String>> ");
gets(ar);
temp[0]=ar[0];
for(i=0,j=1;ar[i]!='\0';i++)
{
for(k=0;k<j;k++)
{
if(ar[i]==temp[k])
break;
}
if(k==j)
temp[j++]=ar[i];
}
printf("\nFrequency
of character is follows\n");
for(i=0;i<j;i++)
{
for(k=0,s=0;ar[k]!='\0';k++)
{
if(temp[i]==ar[k])
s++;
}
printf("\n%c
= %d",temp[i],s);
}
getch();
}
No comments:
Post a Comment