0% found this document useful (0 votes)
30 views35 pages

Pop Manual

Uploaded by

Pooja Patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views35 pages

Pop Manual

Uploaded by

Pooja Patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

BET’S

BASAVAKALYAN ENGINEERING COLLEGE,


BASAVAKALYAN
Approved by AICTE and Affilated to VTU Belagavi
[ISO Certified:9001-2015]
Basavakalyan-585327 Dist. Bidar,Karnataka

Principles of Programming using C Laboratory(BPOPS103/203)


I/II Semester
(Common to all branches)
LAB MANUAL

Prepared by : Prashant Sherikar


Pooja Patil

Department of Computer Science and Engineering


Academic Year 2023-2024
Question 1

Simple Calculator

Simulation of a Simple Calculator.

C Code

/***************************************************************************
*File : A01Calculator.c
*Description : Program to simulate a commercial calculator
*Date : 10 August 2023
***************************************************************************/

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{
int iChoice, iOperand1, iOperand2;
char cOperator;

for(;;)
{
printf("\nEnter the arithmetic expression(Do not add spaces in
the expression)\n");
scanf("%d%c%d", &iOperand1, &cOperator, &iOperand2);
switch(cOperator)
{
case '+': printf("\nResult = %d", iOperand1 + iOperand2);
break;

case '-': printf("\nResult = %d", iOperand1 -iOperand2);


break;

case '*': printf("\nResult = %d", iOperand1 *iOperand2);


break;
case '/': printf("\nResult = %g", (float)iOperand1 /
iOperand2);
break;

DEPT of CSE BKEC, Basavakalyan Page 1


case '%': printf("\nResult = %d", iOperand1 %iOperand2);
break;
}
printf("\nPress 1 to continue and 0 to quit : ");
scanf("%d", &iChoice);
if(0==iChoice)
{
break;
}
}
return 0;
}

Output

Enter the arithmetic expression


4+6
Result = 10

Press 1 to continue and 0 to quit : 1

Enter the arithmetic expression


2-9
Result = -7

Press 1 to continue and 0 to quit : 1

Enter the arithmetic expression


5*2
Result = 10

Press 1 to continue and 0 to quit : 1

Enter the arithmetic expression


8/4
Result = 2
Press 1 to continue and 0 to quit : 1

Enter the arithmetic expression


15%4
Result = 3
Press 1 to continue and 0 to quit : 0

DEPT of CSE BKEC, Basavakalyan Page 2


Question 2
Quadratic Equation

Compute the roots of a quadratic equation by accepting the coefficients. Print


appropriate messages.

C Code

/***************************************************************************
*File : A02Quadratic.c
*Description : Program to find the roots of a Quadratic Equation
*Date : 10 August 2023
***************************************************************************/

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
float fA,fB,fC,fDesc,fX1,fX2,fRealp,fImagp;
int iState;

printf("\n*************************************************************");
printf("\n*\tPROGRAM TO FIND ROOTS OF A QUADRATIC EQUATION\t *\n");
printf("*************************************************************");

printf("\nEnter the coefficients of a,b,c \n");


scanf("%f%f%f",&fA,&fB,&fC);
if(0 == fA)
{
printf("\nInvalid input, not a quadratic equation - try again\n");
exit(0);
}
/*COMPUTE THE DESCRIMINANT*/
fDesc = fB * fB - 4 * fA * fC;
((0 == fDesc) ? (iState = 1):((fDesc > 0) ? (iState = 2) : (iState = 3)));
switch(iState)

DEPT of CSE BKEC, Basavakalyan Page 3


{
case 1:
fX1 = fX2 = -fB/(2*fA);
printf("\nRoots are equal and the Roots are \n");
printf("\nRoot1 = %g and Root2 = %g\n",fX1,fX2);
break;
case 2:
fX1 = (-fB+sqrt(fDesc))/(2*fA);
fX2 = (-fB-sqrt(fDesc))/(2*fA);
printf("\nThe Roots are Real and distinct, they are \n");
printf("\nRoot1 = %g and Root2 = %g\n",fX1,fX2);
break;
case 3:
fRealp = -fB / (2*fA);
fImagp = sqrt(fabs(fDesc))/(2*fA);
printf("\nThe Roots are imaginary and they are\n");
printf("\nRoot1 = %g+i%g\n",fRealp,fImagp);
printf("\nRoot2 = %g-i%g\n",fRealp,fImagp);
}
return 0;
}

Output

* PROGRAM TO FIND ROOTS OF A QUADRATIC EQUATION *


*************************************************************
Enter the coefficients of a,b,c
1 -5 6
The Roots are Real and distinct, they are

Root1 = 3 and Root2 = 2


*************************************************************
* PROGRAM TO FIND ROOTS OF A QUADRATIC EQUATION *
*************************************************************
Enter the coefficients of a,b,c
144
Roots are equal and the Roots are
Root1 = -2 and Root2 = -2
*************************************************************
* PROGRAM TO FIND ROOTS OF A QUADRATIC EQUATION *

DEPT of CSE BKEC, Basavakalyan Page 4


*************************************************************
Enter the coefficients of a,b,c
133
The Roots are imaginary and they are

Root1 = -1.5+i0.866025 Root2 = -1.5-i0.866025


*************************************************************
* PROGRAM TO FIND ROOTS OF A QUADRATIC EQUATION *
*************************************************************
Enter the coefficients of a,b,c
012

Invalid input, not a quadratic equation - try again


***************************************/

DEPT of CSE BKEC, Basavakalyan Page 5


Question 3

Electricity Bill

An electricity board charges the following rates for the use of electricity: for
the first 200 units 80 paise per unit: for the next 100 units 90 paise per unit:
beyond 300 units Rs 1 per unit. All users are charged a minimum of Rs. 100 as
meter charge. If the total amount is more than Rs 400, then an additional
surcharge of 15% of total amount is charged. Write a program to read the
name of the user, number of units consumed and print out the charges.

C Code

/***************************************************************************
*File : A03ElectricBill.c
*Description : Program to perform a binary search on 1D Array
*Date : 10 August 2023
***************************************************************************/
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
char cName[30];
int iUnits;
const int iMinCharge = 100;
const double dSlab1 = 0.8;
const double dSlab2 = 0.9;
const double dSlab3 = 1.0;
const double dSurcharge = 0.15;
double dBillAmount = 0.0;

printf("\nEnter the name of the customer : ");


scanf("%s", cName);
printf("\nEnter the number of units consumed : ");
scanf("%d", &iUnits);
dBillAmount += iMinCharge;
if(iUnits <= 200)

DEPT of CSE BKEC, Basavakalyan Page 6


{
dBillAmount += iUnits*dSlab1;
}
else if(iUnits > 200 && iUnits <= 300)
{
dBillAmount += (200*dSlab1)+((iUnits-200)*dSlab2);
}
else
{
dBillAmount += (200*dSlab1)+(100*dSlab2)+((iUnits-300)*dSlab3);
}
if(dBillAmount > 400)
{
dBillAmount += dBillAmount * dSurcharge;
}
printf("\nElectricity Bill\n===================================");
printf("\nCustomer Name\t: %s", cName);
printf("\nUnits Consumed\t: %d", iUnits);
printf("\nBill Amount\t: %0.2lf Rupees\n\n", dBillAmount);
return 0;
}

Output

/***************************************
Enter the name of the customer : Ramesh
Enter the number of units consumed : 457

Electricity Bill
===================================
Customer Name : Ramesh
Units Consumed : 457
Bill Amount : 583.05 Rupees

Enter the name of the customer : Sayeed


Enter the number of units consumed : 150

DEPT of CSE BKEC, Basavakalyan Page 7


Electricity Bill
===================================
Customer Name : Sayeed
Units Consumed : 150
Bill Amount : 220.00 Rupees

Enter the name of the customer : Jaswinder


Enter the number of units consumed : 300

Electricity Bill
===================================
Customer Name : Jaswinder
Units Consumed : 300
Bill Amount : 350.00 Rupees

Enter the name of the customer : Shyam


Enter the number of units consumed : 182

Electricity Bill
===================================
Customer Name : Shyam
Units Consumed : 182
Bill Amount : 245.60 Rupees
*********
===================================

Enter Customer name:BABU

Enter number of units consumed: 260


ELECTRIC BILL
Name : BABU
Units Consumed : 260 units
Bill Minimum = 100.00 Rs
200 * 80 paise = 160.00
60 * 90 paise = 54.00
Total Bill Charges = 314.00 Rs

DEPT of CSE BKEC, Basavakalyan Page 8


Question 4

Printing Pattern

Write a C Program to display the following by reading the number of rows as


input

C Code

/***************************************************************************
*File : A04Pattern.c
*Description : Program to print a Pattern
*Date : 10 August 2023
***************************************************************************/
#include<stdio.h>
#include<stdlib.h>

int main()
{
int iNum, iSp_cnt, iNum_cnt, iVal, i, j, k;
printf("Enter the number of rows : ");
scanf("%d", &iNum);
iSp_cnt = iNum - 1;
iNum_cnt = 1;

for(i=0;i<iNum;i++)
{
iVal = 1;
for(j=0;j<iSp_cnt;j++)
{
printf(" ");
}
for(k=0;k<iNum_cnt;k++)
{
if(k <= iNum_cnt/2)
{
printf("%d ", iVal);
iVal++;
}

DEPT of CSE BKEC, Basavakalyan Page 9


else
{
iVal--;
printf("%d ", iVal-1);
}
}
printf("\n");
iSp_cnt--;
iNum_cnt += 2;
}
return 0;
}

Output

/****************************

Enter the number of rows : 3


1
121
12321

Enter the number of rows : 4


1
121
12321
1234321

Enter the number of rows : 5


1
121
12321
1234321
123454321
**********************************/

DEPT of CSE BKEC, Basavakalyan Page


10
Question 5

Binary Search

Implement Binary Search on Integers.

C Code

/***************************************************************************
*File : A05BinarySearchIntegers.c
*Description : Program to perform a binary search on 1D Array of Integers
*Date : 10 August 2023
***************************************************************************/

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
int iaArr[100],iNum,i,iMid,iLow,iHigh,iFound,iKey;

printf("\nEnter the number of elements\n");


scanf("%d",&iNum);

printf("\nEnter the elements in ascending order\n");


for(i=0;i<iNum;i++)
scanf("%d",&iaArr[i]);

printf("\nEnter the key element\n");


scanf("%d",&iKey);

iFound = 0;
iLow = 0;
iHigh = iNum-1;
while(iLow <= iHigh)
{
iMid = (iLow+iHigh)/2;
if(iKey == iaArr[iMid])
DEPT of CSE BKEC, Basavakalyan Page
11
{
iFound = 1;
break;
}
else if(iKey < iaArr[iMid])
{
iHigh = iMid-1;
}
else
{
iLow = iMid+1;
}
}

if(iFound)
printf("\nKey element %d found at position %d\n",iKey,iMid+1);
else
printf("\nKey element not found\n");

return 0;
}

Output

/****************************
Enter the number of elements
5

Enter the elements in ascending order


13579

Enter the key element


8

Key element not found


===============================================
Enter the number of elements
4

DEPT of CSE BKEC, Basavakalyan Page


12
Enter the elements in ascending order
1457

Enter the key element


5

***************************************/

DEPT of CSE BKEC, Basavakalyan Page


13
Question 6

Matrix Multiplication

Implement Matrix multiplication and validate the rules of multiplication.

C Code

/***************************************************************************
*File : A06MatrixMul.c
*Description : Program to implement Matrix Multiplication
*Date : 10 August 2023
***************************************************************************/

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int iM, iN, iP, iQ, i, j, k, iaMat1[10][10], iaMat2[10][10];
int iaProd[10][10] = {0};

printf("\n*********************************************************");
printf("\n*\tPROGRAM TO IMPLEMENT MATRIX MULIPLICATION\t*\n");
printf("*********************************************************");

printf("\nEnter the order of Matrix1\n");


scanf("%d%d",&iM,&iN);

printf("\nEnter the order of Matrix2\n");


scanf("%d%d",&iP,&iQ);

if( iN != iP)
{
printf("\nMatrix Multiplication not possible\n");
exit(0);
}
printf("\nEnter the elements of Matrix 1\n");
for(i=0;i<iM;i++)
DEPT of CSE BKEC, Basavakalyan Page
14
for(j=0;j<iN;j++)
scanf("%d",&iaMat1[i][j]);

printf("\nEnter the elements of Matrix 2\n");


for(i=0;i<iP;i++)
for(j=0;j<iQ;j++)
scanf("%d",&iaMat2[i][j]);

for(i=0;i<iM;i++)
{
for(j=0;j<iQ;j++)
{
for(k=0;k<iN;k++)
{
iaProd[i][j] += iaMat1[i][k] * iaMat2[k][j];
}
}
}
printf("\nMatrix 1\n");

for(i=0;i<iM;i++)
{
for(j=0;j<iN;j++)
{
printf("%d\t",iaMat1[i][j]);
}
printf("\n");
}
printf("\n");

printf("\nMatrix 2\n");

for(i=0;i<iP;i++)
{
for(j=0;j<iQ;j++)
{
printf("%d\t",iaMat2[i][j]);
}
printf("\n");

DEPT of CSE BKEC, Basavakalyan Page


15
}
printf("\n");

printf("\nThe Product matrix is is \n");

for(i=0;i<iM;i++)
{
for(j=0;j<iQ;j++)
{
printf("%d\t",iaProd[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}

Output

* PROGRAM TO IMPLEMENT MATRIX MULIPLICATION *


*********************************************************
Enter the order of Matrix1
23

Enter the order of Matrix2


45

Matrix Multiplication not possible

*********************************************************
* PROGRAM TO IMPLEMENT MATRIX MULIPLICATION *
*********************************************************
Enter the order of Matrix1
23
Enter the order of Matrix2
32

Enter the elements of Matrix 1


123

DEPT of CSE BKEC, Basavakalyan Page


16
456

Enter the elements of Matrix 2


12
34
56

Matrix 1
1 2 3
4 5 6

Matrix 2
1 2
3 4
5 6

The Product matrix is is


22 28
49 64

DEPT of CSE BKEC, Basavakalyan Page


17
Question 7

Compute Sine and Cosine of an Angle

Compute sin(x)/cos(x) using Taylor series approximation. Compare your


result with the built-in library function. Print both the results with
appropriate inferences.

C Code

/***************************************************************************
*File : A07SineCosAngle.c
*Description : Program to calculate Sin(x)/Cos(x) using Taylor series
*Date : 10 August 2023
***************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include <math.h>

int main()
{
float fAngD, fAngR;
float fTerm, fNum, fDen, fSVal,fCVal;
int i,iNum;
printf("\nEnter the Angle : ");
scanf("%f",&fAngD);
printf("\nEnter the Number of terms : ");
scanf("%d",&iNum);
printf("\nInput Angle = %g\n",fAngD);
printf("No of terms = %d\n",iNum);

fAngR= (fAngD*M_PI)/180 ;

//Calculation of Sine of an angle using Taylor's series


fNum=fAngR;
fDen=1.0;
fSVal =0.0;
fTerm=fNum/fDen;
for(i=1;i<=iNum;i++)
DEPT of CSE BKEC, Basavakalyan Page
18
{
fSVal = fSVal + fTerm;
fNum = -fNum * fAngR * fAngR ;
fDen = fDen * (2*i) * (2*i+1);
fTerm = fNum/fDen;
}

//Calculation of Cosine of an angle using Taylor's series


fNum=1.0;
fDen=1.0;
fCVal =0.0;
fTerm=1.0;
for(i=1;i<=iNum;i++)
{
fCVal = fCVal + fTerm;
fNum = -fNum * fAngR * fAngR ;
fDen = fDen * (2*i) * (2*i-1);
fTerm = fNum/fDen;
}

printf("\nCalculated value is :\nSin(%g)/Cos(%g) = %g\n",fAngD, fAngD,


fSVal/fCVal);
printf("\nBuilt In function value is :\nSin(%g)/Cos(%g) = %g\n", fAngD, fAngD,
sin(fAngR)/cos(fAngR));

return 0;
}

Output
/***************************************

Enter the Angle : 60


Enter the Number of terms : 12

Input Angle = 60 No of terms = 12


Calculated value is :
Sin(60)/Cos(60) = 1.73205

Built In function value is :


Sin(60)/Cos(60) = 1.73205

DEPT of CSE BKEC, Basavakalyan Page


19
=========================================

Enter the Angle : 30


Enter the Number of terms : 3

Input Angle = 30 No of terms = 3


Calculated value is :
Sin(30)/Cos(30) = 0.577334

Built In function value is :


Sin(30)/Cos(30) = 0.57735
=========================================

Enter the Angle : 45


Enter the Number of terms : 11

Input Angle = 45 No of terms = 11


Calculated value is :
Sin(45)/Cos(45) = 1

Built In function value is :


Sin(45)/Cos(45) = 1
***************************************/

DEPT of CSE BKEC, Basavakalyan Page


20
Question 8
Bubble sort.

Sort the given set of N numbers using Bubble sort.

C Code

/***************************************************************************
*File : A08BubbleSort.c
*Description : Program to implement Bubble Sort Algorithm
*Date : 10 August 2023
***************************************************************************/

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
int iNum, i, j, iaArr[10], iTemp;

printf("\n*************************************************");
printf("\n*\tPROGRAM TO IMPLEMENT BUBBLE SORT\t*\n");
printf("*************************************************");

printf("\nEnter no of elements\n");
scanf("%d",&iNum);

printf("\nEnter the elements\n");


for(i=0;i<iNum;i++)
scanf("%d",&iaArr[i]);

for(i=0;i<iNum;i++)
{
for(j=0;j<iNum-i-1;j++)
{
if(iaArr[j] > iaArr[j+1])
DEPT of CSE BKEC, Basavakalyan Page
21
{
iTemp = iaArr[j];
iaArr[j] = iaArr[j+1];
iaArr[j+1] = iTemp;
}

}
}
printf("\nThe Sorted array is \n");

for(i=0;i<iNum;i++)
printf("%d\t",iaArr[i]);

printf("\n");
return 0;
}

Output

/***************************************
*************************************************
* PROGRAM TO IMPLEMENT BUBBLE SORT *
*************************************************
Enter no of elements
5
Enter the elements
21657
The Sorted array is
1 2 5 6 7
*************************************************
* PROGRAM TO IMPLEMENT BUBBLE SORT *
*************************************************
Enter no of elements
6
Enter the elements
975310
The Sorted array is
0 1 3 5 7 9

DEPT of CSE BKEC, Basavakalyan Page


22
Question 9

String Operations

Write functions to implement string operations such as compare,


concatenate, and find string length. Use the parameter passing techniques.

C Code

/***************************************************************************
*File : A09StringFunctions.c
*Description : Program to implement string operations as functions
*Date : 10 August 2023
***************************************************************************/

#include<stdio.h>
#include<stdlib.h>

int fnMyStrCmp(const char*, const char*);


void fnMyStrCat(char*, const char*);
int fnMyStrLen(const char*);

int main()
{
int iChoice;
char acStr1[30], acStr2[30];
int iLen;
printf("\n=====================\n");
printf("STRING OPERATIONS");
printf("\n=====================\n");
for(;;)
{
printf("\nEnter two strings\n");
printf("\nString 1 : ");
scanf("%s", acStr1);
printf("\nString 2 : ");
scanf("%s", acStr2);
printf("\n1.String Compare\n2.String Concatenate\n3.String Length");
printf("\nEnter your choice : ");
DEPT of CSE BKEC, Basavakalyan Page
23
scanf("%d", &iChoice);
switch(iChoice)
{
case 1: if(fnMyStrCmp(acStr1, acStr2) == 0)
printf("\nTwo strings are equal");
else if(fnMyStrCmp(acStr1, acStr2) > 0)
printf("\nString %s is greater than String %s", acStr1, acStr2);
else
printf("\nString %s is greater than String %s", acStr2, acStr1);
break;

case 2: fnMyStrCat(acStr1, acStr2);


printf("\nConcatenated String is\n%s", acStr1);
break;

case 3: iLen = fnMyStrLen(acStr1);


printf("\nLength of String %s is %d\n", acStr1, iLen);
iLen = fnMyStrLen(acStr2);
printf("\nLength of String %s is %d\n", acStr2, iLen);
break;

}
printf("\nPress 1 to continue and 0 to quit : ");
scanf("%d", &iChoice);
if(0==iChoice)
{
break;
}
}
return 0;
}

int fnMyStrCmp(const char *s1, const char *s2)


{
int k;
for(k=0; s1[k] == s2[k] && s1[k]!='\0'&& s2[k]!='\0'; k++);

if( k==(fnMyStrLen(s1)) && k==(fnMyStrLen(s2)) )


{

DEPT of CSE BKEC, Basavakalyan Page


24
return 0;
}
else if(s1[k] > s2[k])
{
return 1;
}
else
{
return -1;
}
}

void fnMyStrCat(char *dest, const char *src)


{
int dest_len, i;
dest_len = fnMyStrLen(dest);
for (i = 0 ; src[i] != '\0' ; i++)
dest[dest_len + i] = src[i];
dest[dest_len + i] = '\0';
}

int fnMyStrLen(const char *str)


{
int iLen;
for(iLen=0; str[iLen] != '\0'; iLen++);
return iLen;
}

Output

/***************************************

=====================
STRING OPERATIONS
=====================

Enter two strings

String 1 : shiva

DEPT of CSE BKEC, Basavakalyan Page


25
String 2 : shankar

1.String Compare
2.String Concatenate
3.String Length
Enter your choice : 2

Concatenated String is
shivashankar
Press 1 to continue and 0 to quit : 1

Enter two strings

String 1 : ramesh

String 2 : sumesh

1.String Compare
2.String Concatenate
3.String Length
Enter your choice : 1

String sumesh is greater than String ramesh


Press 1 to continue and 0 to quit : 1

Enter two strings


String 1 : sam

String 2 : samantha

1.String Compare
2.String Concatenate
3.String Length
Enter your choice : 3

Length of String sam is 3


Length of String samantha is 8
Press 1 to continue and 0 to quit : 0

DEPT of CSE BKEC, Basavakalyan Page


26
Question 10

C Structures

Implement structures to read, write and compute average- marks and the
students scoring above and below the average marks for a class of N
students.

C Code

/***************************************************************************
*File : A10StudentStructure.c
*Description : Program to implement structure and compute average marks
*Date : 10 August 2023
***************************************************************************/

#include<stdio.h>
#include<stdlib.h>
#define STRSIZE 30

typedef struct
{
char cName[STRSIZE];
char cUSN[11];
int iMarks;
}STUDENT_TYPE;

int main(void)
{
STUDENT_TYPE students[100];
int iNum, i;
double dAvg = 0.0;

printf("\nEnter the number of students : ");


scanf("%d", &iNum);

printf("\nEnter the Student details\n");


for(i=0;i<iNum;i++)

DEPT of CSE BKEC, Basavakalyan Page


27
{
printf("\n###############################");
printf("\nName : "); scanf("%s", students[i].cName);
printf("\nUSN : "); scanf("%s", students[i].cUSN);
printf("\nMarks : "); scanf("%d", &students[i].iMarks);
dAvg += students[i].iMarks;
}

dAvg /= iNum;

printf("\nThe average marks for the class is : %g\n", dAvg);

for(i=0;i<iNum;i++)
{
printf("\n###############################");
printf("\nName\t: %s", students[i].cName);
printf("\nUSN\t: %s", students[i].cUSN);
printf("\nMarks\t: %d", students[i].iMarks);
if(students[i].iMarks < dAvg)
printf("\nThe student has scored below average\n");
else
printf("\nThe student has scored above average\n");
}

return 0;
}

Output

/***************************************
Enter the number of students : 4
Enter the Student details
=========================================
Name : Raju
USN : 1SI17CS036
Marks : 67
=========================================
Name : Michael
USN : 1SI17CS045

DEPT of CSE BKEC, Basavakalyan Page


28
Marks : 87
=========================================
Name : Sahana
USN : 1SI17CS405
Marks : 77
=========================================
Name : Jonathan
USN : 1SI17CS025
Marks : 83

The average marks for the class is : 78.5

=========================================
Name : Raju
USN : 1SI17CS036
Marks : 67
The student has scored below average
=========================================
Name : Michael
USN : 1SI17CS045
Marks : 87
The student has scored above average
=========================================
Name : Sahana
USN : 1SI17CS405
Marks : 77
The student has scored below average
=========================================
Name : Jonathan
USN : 1SI17CS025
Marks : 83
The student has scored above average
***************************************/

DEPT of CSE BKEC, Basavakalyan Page


29
Question 11

Pointers and Arrays

Develop a program using pointers to compute the sum, mean and standard
deviation of all elements stored in an array of N real numbers.

C Code

/***************************************************************************
*File : A11MeanVarianceSD.c
*Description : Program to compute Mean, Variance and Standard Deviation
using pointer to an array
*Date : 10 August 2023
***************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
int i,iNum;
float fMean = 0.0f, fVariance = 0.0f, fSd = 0.0f,faArray[100],fSum=0.0f;
float *fptr;

printf("\nEnter the number of Values : ");


scanf("%d",&iNum);
fptr = faArray;
/* fptr = (float*)malloc(iNum*sizeof(float));*/
printf("\nEnter %d values\n", iNum);
for(i=0; i<iNum; i++)
{
scanf("%f",fptr+i);
fSum += *(fptr+i); //fSum += fptr[i]; this is also valid
}
fMean = fSum/iNum;

for(i=0; i<iNum; i++)


{
fVariance += (fptr[i] - fMean)*(fptr[i] - fMean);
DEPT of CSE BKEC, Basavakalyan Page
30
//fVariance += (*(fptr+i) - fMean)*(*(fptr+i) - fMean);
}
fVariance /= iNum;
fSd = sqrt(fVariance);
printf("\nThe values entered are");
for(i=0; i<iNum; i++)
{
printf("\t%g",fptr[i]); //printf("\n\t%f",*(fptr+i));
}
printf("\n");

printf("\n**************************************\n");
printf("\tSum\t = \t%g\n\tMean\t = \t%g\n\tVariance = \t%g\nStandard Deviation =
\t%g",fSum,fMean,fVariance,fSd);
printf("\n**************************************\n");
return 0;
}

Output

/***************************************
Enter the number of Values : 4

Enter 4 values
1.1 2.2 3.3 4.4

The values entered are 1.1 2.2 3.3 4.4

**************************************
Sum = 11
Mean = 2.75
Variance = 1.5125
Standard Deviation = 1.22984
**************************************
============================================================
Enter the number of Values : 5

Enter 5 values
5.345 6.765 7.234 8.675 9.765

DEPT of CSE BKEC, Basavakalyan Page


31
The values entered are
5.345 6.765 7.234 8.675 9.765

**************************************
Sum = 37.784
Mean = 7.5568
Variance = 2.34995
Standard Deviation = 1.53295

DEPT of CSE BKEC, Basavakalyan Page


32
Question 12

File Copy

Write a C program to copy a text file to another, read both the input file
name and target file name.

C Code

/***************************************************************************
*File : A12FileCopy.c
*Description : Program to copy a text file to another
*Date : 10 AUGUST 2023
***************************************************************************/
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
FILE *fp1,*fp2;
int ch;
char fname1[100], fname2[100];
printf("\nEnter File name to be copied\n");
scanf("%s",fname1);
fp1 = fopen(fname1,"r");

if(fp1 == NULL)
{
printf("\nInput File %s doesn't exist\n", fname1);
exit(0);
}

printf("\nEnter target File name\n");


scanf("%s",fname2);

fp2 = fopen(fname2,"w");
while((ch=fgetc(fp1)) != EOF)
{
fputc(ch,fp2);
}
DEPT of CSE BKEC, Basavakalyan Page
33
printf("\nFile %s successfully created\n",fname2);
fclose(fp1);
fclose(fp2);
return 0;
}

Output

/**************************************************
Enter File name to be copied
out9.c

Enter target File name


out99.c

File out99.c successfully created

===============================================

Enter File name to be copied


secret.txt

Input File secret.txt doesn't exist

**************************************************/

DEPT of CSE BKEC, Basavakalyan Page


34

You might also like