F. Programming For Problem Solving
F. Programming For Problem Solving
FOR WOMEN
(Approved by AICTE, New Delhi and Affiliated to JNTUH)
Nizampet Cross Road, JNTUH Kukatpally Hyderabad–500085
LABORATORY MANUAL
(R22 REGULATIONS)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
& INFORMATION TECHNOOGY
i
S.NO TOPIC PAGE NO
I List of Experiments ii
II V/M /POs/PSOs/PEOs iv
III Syllabus ix
ii
List of Experiments:
1.Practice sessions:
a. Write a simple program that prints the results of all the
operators available in C (including pre/ post increment , bitwise
and/or/not , etc.). Read required operand values from standard
input.
b. Write a simple program that converts one given data type to
another using auto conversion and casting. Take the values form
standard input.
2.Simple numeric problems:
a. Write a program for fiend the max and min from the three
numbers.
b. Write the program for the simple, compound interest
c. Write program that declares Class awarded for a given
percentage of marks, where mark = 70% = Distinction. Read
percentage from standard input.
d. Write a program that prints a multiplication table for a given
number and the number of rows in the table. For example, for a
number 5 and rows = 3, the output should be:
e. 5 x 1 = 5 f. 5 x 2 = 10 g. 5 x 3 = 15
h. Write a program that shows the binary equivalent of a given
positive number between 0 to 255.
3. Expression Evaluation:
a. A building has 10 floors with a floor height of 3 meters each.
A ball is dropped from the top of the building. Find the time taken
by the ball to reach each floor. (Use the formula s = ut+(1/2)at^2
where u and a are the initial velocity in m/sec (= 0) and
acceleration in m/sec^2 (= 9.8 m/s^2)).
iii
b. Write a C program, which takes two integer operands and one
operator from the user, performs the operation and then prints the
result. (Consider the operators +,-,*, /, % and use Switch
Statement)
c. Write a program that finds if a given number is a prime number
d. Write a C program to find the sum of individual digits of a
positive integer and test given number is palindrome.
e. A Fibonacci sequence is defined as follows: the first and
second terms in the sequence are 0 and 1. Subsequent terms are
found by adding the preceding two terms in the sequence. Write
a C program to generate the first n terms of the sequence.
f. Write a C program to generate all the prime numbers between
1 and n, where n is a value supplied by the user.
g. Write a C program to find the roots of a Quadratic equation.
h. Write a C program to calculate the following, where x is a
fractional value. 1-x/2 +x^2/4-x^3/6
i. Write a C program to read in two numbers, x and n, and then
compute the sum of this geometric progression:
1+x+x^2+x^3+.................+x^n. For example: if n is 3 and x is 5,
then the program computes 1+5+25+125
iv
f. iii. Transpose of a matrix with memory dynamically allocated
for the new matrix as row and column counts may not be same.
g. Write C programs that use both recursive and non-recursive
functions
h. To find the factorial of a given integer.
i. ii. To find the GCD (greatest common divisor) of two given
integers.
j. iii. To find x^n
k. Write a program for reading elements using pointer into array
and display the values using array.
l. Write a program for display values reverse order from array
using pointer.
m.Write a program through pointer variable to sum of n elements
from array
5.Files:
a. Write a C program to display the contents of a file to standard
output device.
b. Write a C program which copies one file to another, replacing
all lowercase characters with their uppercase equivalents.
c. Write a C program to count the number of times a character
occurs in a text file. The file name and the character are supplied
as command line arguments.
d. Write a C program that does the following: It should first
create a binary file and store 10 integers, where the file name and
10 values are given in the command line. (hint: convert the strings
using atoi function) Now the program asks for an index and a
value from the user and the value at that index should be changed
to the new value in the file. (hint: use fseek function) The program
should then read all 10 values and print them back. e. Write a C
v
program to merge two files into a third file (i.e., the contents of
the firs t file followed by those of the second are put in the third
file).
6.Strings:
a. Write a C program to convert a Roman numeral ranging from
I to L to its decimal equivalent.
b. Write a C program that converts a number ranging from 1 to
50 to Roman equivalent
c. Write a C program that uses functions to perform the following
operations:
d. To insert a sub-string in to a given main string from a given
position.
e. ii. To delete n Characters from a given position in a given
string.
f. Write a C program to determine if the given string is a
palindrome or not (Spelled same in both directions with or
without a meaning like madam, civic, noon, abcba, etc.)
g. Write a C program that displays the position of a character ch
in the string S or – 1 if S doesn‘t contain ch.
h. Write a C program to count the lines, words and characters in
a given text
7.Miscellaneous:
a. Write a menu driven C program that allows a user to enter n
numbers and then choose between finding the smallest,
largest, sum, or average. The menu and all the choices are to
be functions. Use a switch statement to determine what
action to take. Display an error message if an invalid choice
vi
is entered.
b.Write a C program to construct a pyramid of numbers as
follows:
1 * 1
12 ** 23
123 * * * 456
1 1 *
23 22 **
456 333 ***
4444 **
*
8.Sorting and Searching:
a. Write a C program that uses non recursive function to search
for a Key value in a given
b. list of integers using linear search method.
c. Write a C program that uses non recursive function to search
for a Key value in a given
d. sorted list of integers using binary search method.
e. Write a C program that implements the Bubble sort method
to sort a given list of
f. integers in ascending order.
g. Write a C program that sorts the given array of integers using
selection sort in descending order
h. Write a C program that sorts the given array of integers using
insertion sort in ascending order
i. Write a C program that sorts a given array of names
vii
9.Suggested Reference Books for solving the problems:
i. Byron Gottfried, Schaum’s Outline of Programming with C,
McGraw-Hill
ii. B.A. Forouzan and R.F. Gilberg C Programming and Data
Structures, Cengage Learning, (3rd Edition)
iii. Brian W. Kernighan and Dennis M. Ritchie, The C
Programming Language, Prentice
iv. Hall of India
v. R.G. Dromey, How to solve it by Computer, Pearson (16 th
Impression)
vi. Programming in C, Stephen G. Kochan, Fourth Edition,
Pearson Education.
vii. Herbert Schildt, C: The Complete Reference, Mc Graw Hill,
4 th Editio
viii
RISHI M.S INSTITUTE OF ENGINEERING & TECHNOLOGY FOR WOMEN
(Affiliated to JNTUH University, Approved by AICTE)
To promote women technocrats capable enough to resolve the problems faced by the
society using the knowledge imparted.
To prepare self-reliant women engineering for technological growth of the nation
and society by laying strong theoretical foundation accompanied by wide practical
training.
To equip the young women with creative thinking capabilities and
empowering them towards innovation.
ix
RISHI M.S INSTITUTE OF ENGINEERING & TECHNOLOGY FOR WOMEN
(Affiliated to JNTUH University, Approved by AICTE)
Adopting creative techniques to nurture and strengthen the core skill of Computer Science.
Introduce students to the most recent technological advancements.
Impart quality education, improve the research, entrepreneurial, and employability skills of women
technocrats.
Instil professional ethics and a sense of social responsibility in students.
Strengthen the Industry-Academia interface, which will enable graduates to emerge as academic
leaders or inspiring entrepreneurs
x
RISHI M.S INSTITUTE OF ENGINEERING & TECHNOLOGY FOR WOMEN
(Affiliated to JNTUH University, Approved by AICTE)
xi
RISHI M.S INSTITUTE OF ENGINEERING & TECHNOLOGY FOR WOMEN
(Affiliated to JNTUH University, Approved by AICTE)
PSO 1: Improve the student's ability to decipher the basic principles and methodology of
computer systems. Improve the students' ability to absorb facts and technical
ideas in order to build and develop software.
PSO 2: The capacity to create novel job routes as an entrepreneur using modern
computer languages and evolving technologies like SDLC, Python, Machine
Learning, Social Networks, Cyber Security, Mobile Apps etc.
xii
1.Practice sessions:
xiii
b. Write a simple program that converts one given data type to
another using auto conversion and casting. Take the values
form standard input.
Program:
#include<stdio.h>
#include<conio.h>
void main() {
float sum,count;
int mean;
clrscr();
printf("enter the value of sum and count");
scanf("%f%f",&sum,&count);
mean=sum/count;
printf(" the value of mean is : %d\n", mean);
xiv
}
Output:
output:
xvi
getch( );
}
Output
xvii
i
}
getch();
}
Output:
3.Expression Evaluation:
#include<stdio.h>
#include<math.h>
void main()
{
int s=30,u=0,r,t;
float a=9.8;
r=2*s/a;
t=sqt(r);
printf(“time taken is %d”,t);
xx
}
output:
time taken is 2
c = a * b;
printf("multiplication of two numbers is %d", c);
break;
case’/’:
c = a / b;
printf("remainder of two numbers is %d", c);
break;
case '%':
c = a % b;
printf("quotient of two numbers is %d", c);
break;
default:
printf("Invalid operator");
break;
}
getch();
}
Output:
xxii
c. Write a program that finds if a given number is a prime number
Program:
#include<stdio.h>
int main()
{
int n,i,flag=0;
printf("\nEnter a number:”);
scanf("%d",&n);
for(i=2;i<=n/2;i++)
{
if(n%i==0) {
flag=1;
break;
}
}
If(flag==0)
printf(“%d is a prime number”,n);
else
printf(“%d is not a prime number”,n);
return(0);
}
Output :
Enter a number: 29
29 is a prime number
Program:
#include<stdio.h>
xxii
i
#include <conio.h>
#include<math.h>
void main () {
int number = 0, digit = 0, sum = 0;
clrscr();
printf("Enter any number\n ");
scanf("%d", &number);
while (number != 0)
{ digit = number % 10;
sum = sum + digit; number = number / 10;
}
printf ("Sum of individual digits of a given number is %d",
sum);
getch();
}
Output:
xxi
v
Test given number is palindrome.
Program:
#include<stdio.h>
void main() {
int number, t, rev=0, rmndr;
printf("Please enter a number to check Palindrome : ");
scanf("%d",&number);
printf("\nEntered number: %d", number);
t = number;
while (number > 0) {
rmndr = number %10;
rev = rev*10 + rmndr; number = number/10;
}
printf("\nReversed number: %d", rev);
if(t == rev) {
printf("\nEntered number %d is a palindrome", t);
}
else {
printf("\nEntered number %d is not a palindrome", t);
}
}
Output:
xxv
e) A Fibonacci sequence is defined as follows: the first and
second terms in the sequence are 0 and 1. Subsequent terms
are found by adding the preceding two terms in the sequence.
Write a C program to generate the first n terms of the sequence.
Program:
#include<stdio.h>
int main() {
int i, n, t1 = 0, t2 = 1, nextTerm;
printf("Enter the number of terms: ");
scanf("%d", &n);
printf("Fibonacci Series: ");
for (i = 1; i <= n; ++i) {
printf("%d, ", t1);
nextTerm = t1 + t2; t1 = t2; t2 = nextTerm;
}
return 0;
}
Output :
Enter the number of terms: 10
Fibonacci Series: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
Program:
#include<stdio.h>
#include<math.h>
void main() {
int a,b,c,disc;
xxv
ii
float root1,root2;
clrscr();
printf("ENTER VALUES FOR a,b,c:\n");
scanf("%d %d %d",&a,&b,&c);
disc=b*b-4*a*c;
if(disc>0) {
printf("THE ROOTS ARE REAL & THEY ARE..\n");
root1=(-b+sqrt(disc))/ (2*a);
root2=(-b sqrt(disc))/(2*a);
printf("Root1= %f",root1);
printf("Root2= %f",root2);
}
else if(disc==0) {
printf("THE ROOTS ARE EQUAL & THEY ARE..\n");
root1=-b/(2*a);
root2=root1; printf("Root1=%f",root1);
printf("Root2=%f",root2);
} else
{ printf("THE ROOTS ARE IMAGINARY"); x=-b/(2*a); y=
sqrt(disc)/(2*a);
printf("Root1=%f+i %f",x,y);
printf("Root1= %f-i%f",x,y);
}
getch();
}
OUTPUT:
ENTER VALUES FOR a,b,c 1 4 4
THE ROOTS ARE EQUAL AND THEY ARE.. Root1=-2
Root2=-2
xxv
iii
h. Write a C program to calculate the following, where x is a
fractional value. 1-x/2 +x^2/4-x^3/6
program:
#include<stdio.h>
#include<conio.h>
float x,sum=1,t=1,d;
int i,n;
clrscr();
printf("\n Input the value of x:\n");
scanf("%f",&x);
printf("Input the number of terms:\n");
scanf("%d",&n);
for(i=1;i<n;i++)
{
d=(2*i)*(2*i-1);
t=-t*x*x*/d;
sum=sum+t;
}
xxi
x
printf("\n the sum=%f \n Number of terms=%d\n value of
x=%f\n",sum,n,x);
getch();
}
output:
xxx
Program:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
int n, x, i, sum = 0;
clrscr();
printf("Enter the limit\n");
scanf("%d", &n);
printf("Enter the value of x\n");
scanf("%d", &x);
if(x < 0 || n < 0)
{
printf("illegal value");
}
else
{
for(i = 0; i <= n; i++)
sum=sum + pow(x, i);
}
printf("sum=%d", sum);
getch();
} output:
xxx
i
4.Arrays and Pointers and Functions:
1. Write a C program to find the minimum, maximum and
average in an
array of integers.
#include <stdio.h>
#define MAX_SIZE 100 // Maximum array
size int main()
{
int arr[MAX_SIZE];
int i, max, min, size;
printf("Enter size of the array: ");
scanf("%d", &size);
printf("Enter elements in the array: ");
for(i=0; i<size; i++)
{
scanf("%d", &arr[i]);
}
max = arr[0];
min = arr[0];
for(i=1; i<size; i++)
{
if(arr[i] > max)
{
max = arr[i];
}
if(arr[i] < min)
{
min = arr[i];
}
}
printf("Maximum element = %d\n",
xxx
ii
max);
printf("Minimum element = %d",
min);
return 0;
}
Output:
xxx
iii
2. Write a functions to compute mean, variance, Standard
Deviation,
sorting of n elements in single dimension array.
Program:
#include <stdio.h>
#include <math.h>
#define MAXSIZE 10
void main()
{
float
x[MAXSIZE]; int
i, n;
float average, variance, std_deviation, sum = 0, sum1 = 0;
printf("Enter the value of N \n");
scanf("%d", &n);
printf("Enter %d real numbers \n",
n); for (i = 0; i < n; i++)
{
scanf("%f", &x[i]);
}
/* Compute the sum of all elements
*/ for (i = 0; i < n; i++)
{
sum = sum + x[i];
}
average = sum /
(float)n; for (i = 0; i <
n; i++)
{
sum1 = sum1 + pow((x[i] - average), 2);
}
xxx
iv
variance = sum1 / (float)n;
std_deviation
=
sqrt(variance);
printf("Average of all elements = %.2f\n",
average);
printf("variance of all elements = %.2f\n", variance);
printf("Standard deviation = %.2f\n", std_deviation);
getch();
}
Output:
xxx
v
3 Write a C program that uses functions to perform the
following:
Addition of Two Matrices
#include <stdio.h>
int main()
{
int m, n, c, d, first[10][10], second[10][10], sum[10]
[10]; clrscr();
printf("Enter the number of rows and columns of matrix\n");
scanf("%d%d", &m, &n);
printf("Enter the elements of first matrix\n");
for (c = 0; c < m; c++)
for (d = 0; d < n; d+
+)
scanf("%d", &first[c][d]);
printf("Enter the elements of second matrix\n");
for (c = 0; c < m; c++)
for (d = 0 ; d < n; d++)
scanf("%d", &second[c][d]);
printf("Sum of entered
matrices:-\n");
for (c = 0; c < m; c++) {
for (d = 0 ; d < n; d++)
{
sum[c][d] = first[c][d] + second[c][d];
printf("%d\t", sum[c][d]);
}
printf("\n");
}
return 0;
xxx
vi
}
Output:
xxx
vii
if (n != p)
printf("The matrices can't be multiplied with each
other.\n"); else
{
printf("Enter elements of second matrix\n");
for (c = 0; c < p; c++)
for (d = 0; d < q; d++)
scanf("%d", &second[c][d]);
for (c = 0; c < m; c++)
{
for (d = 0; d < q; d++) {
for (k = 0; k < p; k++) {
sum = sum + first[c][k]*second[k][d];
}
multiply[c][d] = sum;
sum = 0;
}
}
printf("Product of the
matrices:\n"); for (c = 0; c < m;
c++) {
for (d = 0; d < q; d++)
printf("%d\t", multiply[c]
[d]); printf("\n");
}
}
getch();
return 0;
}
Output:
xxx
viii
Transpose of a matrix with memory dynamically allocated for
the new matrix as
row and column counts may not be same
Program:
#include
<stdio.h> int
main()
{
int a[10][10], transpose[10][10], r, c, i, j;
printf("Enter rows and columns of matrix: ");
scanf("%d %d", &r, &c);
// Storing elements of the matrix
printf("\nEnter elements of
matrix:\n"); for(i=0; i<r; ++i)
for(j=0; j<c; ++j)
{
printf("Enter element a%d%d: ",i+1,
j+1); scanf("%d", &a[i][j]);
xxx
ix
}
// Displaying the matrix a[][] */
printf("\nEntered Matrix: \n");
for(i=0; i<r; ++i)
for(j=0; j<c; ++j)
{
printf("%d ", a[i]
[j]); if (j == c-1)
printf("\n\n");
}
// Finding the transpose of matrix a
for(i=0; i<r; ++i)
for(j=0; j<c; ++j)
{
transpose[j][i] = a[i][j];
}
// Displaying the transpose of matrix
a printf("\nTranspose of Matrix:\n");
for(i=0; i<c; ++i)
for(j=0; j<r; ++j)
{
printf("%d ",transpose[i][j]); if(j==r-1)
printf("\n\n")
;
}
return 0;
}
Output:
xl
Write C programs that use both recursive and non-recursive
functions To
compute xn using recursive.
Program:
#include<stdio.h>
int power(int n1,int n2);
int main()
{
int base,exp;
printf(“enter base number:”);
scanf(“%d”,&base);
printf(“enter power number(positive integer):”);
scanf(“%d”,&exp); printf(“%d^%d=
%d”,base,exp,power(base,exp)); return 0;
}
int power(int base,int exp)
xli
{
if(exp!=1)
return (base*power(base,exp-1));
}
OUTPUT:
enter base number:3
enter power number(positive
integer):3 3^3=27
xlvi
i
Write a ‘C’ Program to compute the sum of all elements stored
in an array
using pointers
Program:
#include<stdio.
h>
#include<conio.h
> void main() {
int
numArray[10];
int i, sum = 0;
int *ptr;
printf("\nEnter 10 elements : ");
for (i = 0; i < 10; i++)
scanf("%d", &numArray[i]);
ptr = numArray; /* a=&a[0] */
for (i = 0; i < 10; i++) {
sum = sum + *ptr;
ptr++;
}
printf("The sum of array elements : %d", sum);
}
Output:
Enter 10 elements: 11 12 13 14 15 16 17 18 19
20 The sum of array elements is 155
xlvi
ii
5. FILES
a.C Program to print contents of file
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fptr;
char filename[100], c;
printf("Enter the filename to open \n");
scanf("%s", filename);
// Open file
fptr = fopen(filename,
"r"); if (fptr == NULL){
printf("Cannot open file \n");
exit(0); }
// Read contents from
file c = fgetc(fptr);
while (c != EOF)
{
printf ("%c",
c); c =
fgetc(fptr);
}
fclose(fptr);
return 0;
}
Output:
Enter the filename to open
a.txt
/*Contents of a.txt*/
xlix
b.Write a C program to copy one file to another file & while
doing so
replace all lower case character to their equivalent upper case
character.
#include<stdio.h>
#include<stdlib.h
>
#include<ctype.
h> int main()
{
FILE *fp1,
*fp2; char ch;
fp1 = fopen("source.txt",
"r"); if (fp1 == NULL)
{
puts("File does not
exist.."); exit(1);
}
fp2 = fopen("target.txt",
"w"); if (fp2 == NULL)
{
puts("File does not exist..");
fclose(fp1);
exit(1);
}
while((ch=fgetc(fp1))!=EOF)
{
ch = toupper(ch);
fputc(ch,fp2);
}
printf("\nFile successfully
l
copied.."); return 0;
}
Output:
Content in source.txt file.
lii
d.Write a C program to merge two files into a third file (i.e.,
the contents of
the first file followed by those of the second are put in the third
file)
#include<stdio.h>
void main() {
FILE *f1,*f2,*f3; char
s[100];
f1=fopen("D:\file3.txt","r");
f2=fopen("D:\file4.txt","r");
f3=fopen("D:\file5.txt","w"); if(f1==NULL || f2==NULL ||
f3==NULL)
{
printf("error opening file"); exit(0);
}
while(fgets(s,99,f1)!=NULL)
fputs(s,f3); while(fgets(s,99,f2)!
=NULL) fputs(s,f3);
fclose(f
1);
fclose(f2);
fclose(f \3);
}
OUTPUT:
liii
6.STRINGS
a.Write a C program to convert a Roman numeral to its
decimal equivalent.
#include <stdio.h>
#include <conio.h>
#include
<string.h>
#include <stdlib.h>
void main()
{
char rom[30];
int a[30], l, i, k, dec;
clrscr();
printf("Enter the roman number\n");
scanf("%s", &rom);
l =strlen(rom);
for(i = 0; i < l; i+
+)
{
switch (rom[i])
{
liv
case 'I': a[i] = 1;
break;
case 'V': a[i] =
5; break;
case 'X': a[i] = 10;
break;
case 'L': a[i] =
50; break;
case 'C': a[i] = 100;
break;
case 'D': dec = dec + 500;
break;
case 'M': a[i] =
1000; break;
default : printf("Invalid choice");
break;
}
}
k = a[l - 1];
for(i = l - 1; i > 0; i--)
{ if(a[i] > a[i - 1])
{
k = k - a[i - 1];
}
if(a[i] <= a[i - 1])
{
k = k + a[i - 1];
}
}
printf("decimal equivalent is %d", k);
getch();
lv
}
Output:
Enter the roman
number XIV
Decimal equivalent is 14
lxiii
h> void main()
{
char s[30], t[20];
char *found;
clrscr();
puts("Enter the first string:
"); gets(s);
puts("Enter the string to be searched:
"); gets(t);
found = strstr(s,
t); if(found)
{
printf("Second String is found in the First String at %d
position.\n", found - s);
}
else
{
printf("-1");
}
getch();
}
Input & Output:
1.Enter the first string:
kali
Enter the string to be searched:
li
second string is found in the first string at 2
position 2.Enter the first string:
nagaraju
Enter the string to be searched:
raju
lxiv
second string is found in the first string at 4 position
3.Enter the first string:
Nagarjuna
Enter the string to be
searched: Ma -1
7.Miscellaneous:
a.) Write a menu driven C program that allows a user to enter
n numbers and then choose
between finding the smallest, largest, sum, or average. The
menu and all the choices are to be
functions. Use a switch statement to determine what action to
take. Display an error message
if an invalid choice is entered.
PROGRAM:
Program:
#include
<stdio.h> int
main()
{
int i, j, rows;
printf("Enter number of rows: ");
scanf("%d",&rows);
lxvi
for(i=1; i<=rows; ++i)
{
for(j=1; j<=i; ++j)
{
printf("* ");
}
printf("\n");
}
return 0;
}
OUTPUT:
Enter number of rows: 5
*
**
***
****
*****
PROGRAM:
#include <stdio.h>
int main()
{
int i, j, rows;
printf("Enter number of rows: ");
scanf("%d",&rows);
for(i=1; i<=rows; ++i)
{
for(j=1; j<=i; ++j)
{
printf("%d ",j);
}
lxvi
i
printf("\n");
}
return 0;
}
OUTPUT:
Enter number of
rows: 5 1
12
123
1234
12345
PROGRAM:
#include
<stdio.h> int
main()
{
int rows, i, j, number= 1;
printf("Enter number of rows:
"); scanf("%d",&rows);
for(i=1; i <= rows; i++)
{
for(j=1; j <= i; ++j)
{
printf("%d ", number);
++number;
}
printf("\n");
}
lxvi
ii
return 0;
}
OUTPUT:
Enter number of
rows: 4 1
23
456
7 8 9 10
PROGRAM:
#include
<stdio.h> int
main()
{ int rows, i, j, number= 1;
printf("Enter number of rows:
"); scanf("%d",&rows); for(i=1; i <= rows; i++)
{
for(j=1; j <= i; ++j)
{
printf("%d ", number);
}
++number;
printf("\n");
}
return 0;
}
OUTPUT:
Enter number of
rows: 4 1
22
333
4444
lxix
PROGRAM:
#include
<stdio.h> int
main()
{
int i, j, rows;
printf("Enter number of rows: ");
scanf("%d",&rows);
for(i=1; i<=rows; ++i)
{
for(j=1; j<=i; ++j)
{
printf("* ");
}
printf("\n");
}
for(i=rows-1; i>=1; --i)
{
for(j=1; j<=i; ++j)
{
printf("* ");
}
printf("\n");
}
OUTPUT:
Enter number of rows: 4
*
**
***
****
***
lxx
**
*
8. Sorting and Searching:
a.) Write a C program that uses non recursive function to
search for a Key value in a given
b.) List of integers using linear search method.
PROGRAM:
#include<stdio.
h>
#include<conio.
h> void main()
{
int i, a[20], n, key, flag =
0; clrscr();
printf(“Enter the size of an array
\n”); scanf(“%d”, &n);
printf(“Enter the array elements”);
for(i = 0; i < n; i++)
{
scanf(“%d”, &a[i]);
}
printf(“Enter the key
elements”); scanf(“%d”,
&key);
for(i = 0; i < n; i++)
{
if(a[i] == key)
{
flag = 1;
break;
}
lxxi
}
if(flag == 1)
printf(“The key elements is found at location %d”, i +
1); else
printf(“The key element is not found in the array”);
getch();
}
Input & Output:
Enter the size of an array 6
Enter the array elements 50 10 5 200
20 1 Enter the key element 1
The key Element is found at location 6
c.) Sorted list of integers using binary search method.
#include <stdio.h>
int BinarySearching(int arr[], int max, int element)
{
int low = 0, high = max - 1, middle;
while(low <= high)
{
middle = (low + high) /
2; if(element >
arr[middle]) low =
middle + 1;
else if(element <
arr[middle]) high =
middle - 1;
else
return middle;
}
return -1;
}
lxxi
i
int main()
{
int count, element, limit, arr[50], position;
printf("Enter the Limit of Elements in Array:\t");
scanf("%d", &limit);
printf("Enter %d Elements in Array: \n", limit);
for(count = 0; count < limit; count++)
{
scanf("%d", &arr[count]);
}
printf("Enter Element To
Search:\t"); scanf("%d",
&element);
position = BinarySearching(arr, limit, element);
if(position == -1)
{
printf("Element %d Not Found\n", element);
}
else
{
printf("Element %d Found at Position %d\n", element,
position + 1);
}
return 0;
}
OUTPUT:
lxxi
ii
d.) Write a C program that implements the Bubble sort
method to sort a given list
of integers in ascending order.
PROGRAM:
#include<stdio.
h>
#include<conio.
h> void main()
{
int n, a[20], temp, i, j;
clrscr();
printf("Enter the size of the
array\n"); scanf("%d", &n);
printf("Enter the array
elements\n"); for(i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for(i = 0; i < n - 1; i++)
{
for(j = 0; j < n - 1; j++)
{
if(a[j] > a[j + 1])
lxxi
v
{
temp = a[j];
a[j] = a[j +
1]; a[j + 1] =
temp;
}
}
}
printf("The sorted array
is\n"); for(i = 0; i < n; i++)
printf("%d\n", a[i]);
getch();
}
Output:
Enter the size of the array: 5
Enter the array elements: 50 40 30 20 10
The sorted array is: 10 20 30 40 50
lxx
vi
f.) Write a C program that sorts the given array of integers
using insertion sort in ascending
order .
PROGRAM:
# include
<stdio.h> int
main()
{
int n, array[1000], c, d, t;
printf("Enter number of
elements\n"); scanf("%d", &n);
printf("Enter %d integers\n",
n); for (c = 0; c < n; c++)
{
scanf("%d", &array[c]);
}
for (c = 1 ; c <= n - 1; c++)
{
d = c;
while ( d > 0 && array[d-1] > array[d])
{
t = array[d];
array[d] = array[d
1]; array[d-1] = t;
d--;
}
}
printf("Sorted list in ascending
order:\n"); for (c = 0; c <= n - 1; c++)
{
printf("%d\n", array[c]);
lxx
vii
} return 0;
}
OUTPUT:
lxxi
x
lxx
x