0% found this document useful (0 votes)
2 views

C_Unit II_Notes (1)

Uploaded by

psaranya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

C_Unit II_Notes (1)

Uploaded by

psaranya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

VELAMMAL ENGINEERING COLLEGE

DEPARTMENT OF CSE & IT

19CS101T / PROGRAMMING FOR PROBLEM SOLVING IN C

UNIT II

ARRAYS AND STRINGS

Defining an array – Processing an Single and Two Dimensional array


– Multidimensional Arrays, Character Arithmetic – Defining a string –
NULL character – Initialization of Strings – Reading and Writing
Strings – Processing Strings –Searching and Sorting of Strings.

ARRAYS

Definition:
An array is a derived data type. It is a collection of data elements of similar
data types. The data elements are stored in contiguous memory location.

Syntax :
datatype arrayname[size]
int a[10];
where
int is the data type of the elements.
a is the array name.
[10] is the index which denotes the array contains 10 data elements.

ARRAY INITIALIZATION:
The array can be initialized with elements while declaring the array.
Example:
int a[5]={1,2,3,4,5}
Here, 5 data elements are stored in the array called “a”. The array elements
are stored sequentially in separate locations.
The array elements are called as below:
A[0] refers to 1st element 1
A[1] refers to 1st element 2
A[2] refers to 1st element 3
A[3] refers to 1st element 4
1
A[4] refers to 1st element 5
CHARACTERISTICS OF AN ARRAY:

1. All the data elements share the same name, and they are distinguished
from one another with the help of an element number.
2. Any particular element of an array can be modified separately without
disturbing other elements.
3. The element number in an array plays major role for calling each
element.

CLASSIFICATION OF ARRAY:

Arrays can be classified into major types.

1. One-dimensional Array.
2. Two dimensional Array.

3. Multi dimensional Array.

1. One-Dimensional Array:

The array elements are arranged in rows or columns. The data are stored
in continuous memory location.

Example:

int a[5]={1,2,3,4,5}

Address 2000 2004 2008 2012 2016


Element a[0] a[1] a[2] a[3] a[4]
Values 1 2 3 4 5

Example Program:

#include<stdio.h>
void main()
{
int a[10],n,i;
clrscr();
2
printf("\nEnter the size of the array");
scanf("%d",&n);
printf("\nEnter the elements into the array one by one");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\nThe array elements are\n");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
getch();
}

OUTPUT:

Enter the size of the array5

Enter the elements into the array one by one


1
2
3
4
5

The array elements are


1 2 3 4 5

SUM OF THE ELEMENTS IN AN ARRAY


#include <stdio.h>
#include <conio.h>
void main()
{
int a[25],i,j,n,sum=0;
clrscr();
printf("\nEnter the no. of elements in the array");
scanf("%d",&n);
printf("\nEnter the elements in the array\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
sum=sum+a[i];
}
printf("\nThe sum of the elements in the array is %d",sum);
getch();}
3
OUTPUT:

Enter the no. of elements in the array4


Enter the elements in the array
4
3
2
1

The sum of the elements in the array is 10

LARGEST ELEMENT IN AN ARRAY

#include <stdio.h>
#include <conio.h>
void main()
{
int a[25],i,n,max;
clrscr();
printf("\nEnter the no. of elements in the array");
scanf("%d",&n);
printf("\nEnter the elements in the array\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
max=a[0];
for(i=1;i<n;i++)
{
if(a[i]>max)
max=a[i];
}
printf("\nThe largest element is %d",max);
getch();
}

output:
Enter the no. of elements in the array4
Enter the elements in the array
6
7
5
45
The largest element is 45

4
SEARCHING AN ELEMENT IN AN ARRAY

Linear search

#include <stdio.h>
#include <conio.h>
void main()
{
int a[25],i,j,n,x;
clrscr();
printf("\nEnter the no. of elements in the array");
scanf("%d",&n);
printf("\nEnter the elements in the array\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("\nEnter the element to be searched in the array");
scanf("%d",&x);
for(i=0;i<n;i++)
{
if(a[i]==x)
{
printf("\nThe element is found");
break;
}
}
if(i==n)
{
printf("\nThe element is not found");
}
getch();
}
OUTPUT:
Enter the no. of elements in the array 4
Enter the elements in the array
2
1
4
5
Enter the element to be searched in the array 2
The element is found

5
Binary Search:

#include<stdio.h>
void main()
{
int arr[50],i,n,x,flag=0,first,last,mid;

printf("Enter size of array:");


scanf("%d",&n);
printf("\nEnter array element(ascending order)\n");

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

printf("\nEnter the element to search:");


scanf("%d",&x);

first=0;
last=n-1;
while(first<=last)
{
mid=(first+last)/2;
if(x==arr[mid])
{
flag=1;
break;
}
else if(x>arr[mid])
first=mid+1;
else
last=mid-1;
}
if(flag==1)
printf("\nElement found at position %d",mid+1);
else
printf("\nElement not found");

Output:

Enter size of array:6


Enter array element(ascending order)
20 27 40 50 58 99
Enter the element to search:27
Element found at position 2

6
INSERTING AN ELEMENT INTO AN ARRAY

#include <stdio.h>
void main()
{
int a[30],i,n,x,p;
clrscr();
printf("\nEnter the size of the array");
scanf("%d",&n);
printf("\nenter the elements into the array");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\nEnter the element to be inserted");
scanf("%d",&x);
printf("\nEnter the position in which the element to be inserted");
scanf("%d",&p);
for(i=n-1;i>=p;i--)
a[i+1]=a[i];
a[p]=x;
printf("\nThe elements are \n");
for(i=0;i<=n;i++)
printf("%d\t",a[i]);
getch();
}
OUTPUT:
Enter the size of the array 5

enter the elements into the array


3 4 5 2 1

Enter the element to be inserted 5

Enter the position in which the element to be inserted 3

The elements are

3 4 5 5 2 1

SORTING OF AN ARRAY

#include <stdio.h>
#include <conio.h>
void main()
{
int a[25],i,j,n,temp;
clrscr();
printf("\nEnter the no. of elements in the array");
7
scanf("%d",&n);
printf("\nEnter the elements in the array\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("\nThe sorted array is \n");
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
getch();
}

OUTPUT:

Enter the no. of elements in the array6

Enter the elements in the array


4
1
7
4
7
2

The sorted array is


1 2 4 4 7 7

8
Bubble Sort:

#include <stdio.h>
int main()
{
int array[100], n, i, j, swap;
printf("Enter number of elements\n");
scanf("%d", &n);
printf("Enter %d integers\n", n);
for (i = 0; i< n; i++)
scanf("%d", &array[i]);
for (i = 0 ; i < n - 1; i++)
{
for (j= 0 ; j < n - i - 1; j++)
{
if (array[j] > array[j+1])
{
swap = array[j];
array[j] = array[j+1];
array[ j+1] = swap;
}
}
}
printf("Sorted list in ascending order:\n");
for (i = 0; i < n; i++)
printf("%d\n", array[i]);
}

Output:

9
2.Two-Dimensional Array:

The array elements are thought to be stored in the form of rows and columns.

Syntax :
datatype arrayname[row size][column size];
int a[3][3];

Diagrammatic representation:

Column 1 Column 2 Column 3


Row 1 a[0][0] a[0][1] a[0][2]
Row 2 a[1][0] a[1][1] a[1][2]
Row 3 a[2][0] a[2][1] a[2][2]

The above arrangement of array elements is only for understanding.


Physically array elements are stored in continuous memory locations. The
two dimensional array is a collection of one-dimensional array, which are
placed one after another.

Example Program:

#include<stdio.h>
void main()
{
int a[10][10],n,i,j;
clrscr();
printf("\nEnter the size of the array");
scanf("%d",&n);
printf("\nEnter the elements into the array one by one");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("\nThe array elements are\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
10
getch();
}

OUTPUT:

Enter the size of the array2

Enter the elements into the array one by one


1
2
3
4

The array elements are


1 2
3 4

PROGRAMS IN TWO DIMENSIONAL ARRAY

MATRIX ADDITION

#include <stdio.h>
#include <conio.h>
void main()
{
int a[10][10],b[10][10],c[10][10],i,j,k,m,n;
clrscr();
printf("\nEnter the no. of rows in the matrix A");
scanf("%d",&m);
printf("\nEnter the no. of columns in the matrix A");
scanf("%d",&n);
printf("\nEnter the elements in the matrix A");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("\nEnter the elements in the matrix B");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&b[i][j]);
11
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
c[i][j]=a[i][j]+b[i][j];
}
}
printf("\nThe Resultant matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",c[i][j]);
}
printf("\n");
}
getch();
}

OUTPUT:

Enter the no. of rows in the matrix2

Enter the no. of columns in the matrix2

Enter the elements in the matrix A


1
1
1
1

Enter the elements in the matrix B


1
1
1
1

The Resultant matrix is


2 2
2 2

12
MATRIX MULTIPLICATION

#include <stdio.h>
#include <conio.h>
void main()
{
int a[10][10],b[10][10],c[10][10],i,j,k,m,n,p;
clrscr();
printf("\nEnter the no. of rows in the matrix A");
scanf("%d",&m);
printf("\nEnter the no. of columns in the matrix A");
scanf("%d",&n);
printf("\nEnter the no. of columns in the matrix B");
scanf("%d",&p);
printf("\nEnter the elements in the matrix A");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("\nEnter the elements in the matrix B");
for(i=0;i<n;i++)
{
for(j=0;j<p;j++)
{
scanf("%d",&b[i][j]);
}
}
printf("\nThe Resultant matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<p;j++)
{
c[i][j]=0;
for(k=0;k<n;k++)
{
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
printf("%d\t",c[i][j]);
}
printf("\n");
}
getch();
}
13
OUTPUT:
Enter the no. of rows in the matrix A2

Enter the no. of columns in the matrix A2

Enter the no. of columns in the matrix B2

Enter the elements in the matrix A


1
1
1
1

Enter the elements in the matrix B


1
1
1
1

The Resultant matrix is


2 2
2 2

TRANSPOSE OF A MATRIX:
#include <stdio.h>

void main()
{
static int array[10][10];
int i, j, m, n;

printf("Enter the order of the matrix \n");


scanf("%d %d", &m, &n);
printf("Enter the coefiicients of the matrix\n");
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
scanf("%d", &array[i][j]);
}
}
printf("The given matrix is \n");
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
14
{
printf(" %d", array[i][j]);
}
printf("\n");
}
printf("Transpose of matrix is \n");
for (j = 0; j < n; ++j)
{
for (i = 0; i < m; ++i)
{
printf(" %d", array[i][j]);
}
printf("\n");
}
}

Output:
Enter the order of the matrix
33
Enter the coefiicients of the matrix
379
275
634
The given matrix is
379
275
634
Transpose of matrix is
326
773
954

SUM OF DIAGONAL ELEMENTS IN A MATRIX

#include <stdio.h>
#include <conio.h>
void main()
{
int a[10][10],i,j,m,n,sum=0;
clrscr();
printf("\nEnter the no. of rows in the matrix A");
scanf("%d",&m);
printf("\nEnter the no. of columns in the matrix A");
scanf("%d",&n);
printf("\nEnter the elements in the matrix A");
15
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("\nThe Addition of diagonal elements in the matrix is\n");
for(i=0;i<m;i++)
{
sum=sum+a[i][i];
}
printf("%d",sum);
getch();
}

OUTPUT:

Enter the no. of rows in the matrix A 2

Enter the no. of columns in the matrix A 2

Enter the elements in the matrix A


1
1
1
1

The Addition of diagonal elements in the matrix is


2

3.Multi Dimensional Array:


In C programming, you can create an array of arrays. These arrays are
known as multidimensional arrays.

int test[2][3][4] = {
{{3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}},
{{13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9}} };

Three-dimensional:

#include <stdio.h>
void main()
{
int test[2][3][2];
16
printf("Enter 12 values: \n");
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
for (int k = 0; k < 2; ++k)
{
scanf("%d", &test[i][j][k]);
}
}
}
printf("\nDisplaying values:\n");
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
for (int k = 0; k < 2; ++k)
{
printf("test[%d][%d][%d] = %d\n", i, j, k, test[i][j][k]);
}
}
}

17
CHARACTER ARRAY:

The data elements stored in the array belong to character data type.
Hence the name, character array.

The character array can be used to stored individual characters or a


collection of characters called strings. If a string is stored in the character
array, a null character (‘\0’) is automatically added to the array at the end,
which denotes the end of the string.
Example program:

Program to display character array & their addresses:


#include <stdio.h>
void main()
{
char a[]={'A','B','C','D'};
int i;
clrscr();
for(i=0;a[i]!='\0';i++)
{
printf("\nThe array elements are : %c",a[i]);
printf("\nThe memory location is %u",&a[i]);
}
getch();
}
OUTPUT:

The array elements are : A


The memory location is 65522
The array elements are : B
The memory location is 65523
The array elements are : C
The memory location is 65524
The array elements are : D
The memory location is 65525

18
STRING HANDLING:

In C language, the group of characters, digits and symbols


enclosed within quotation marks are called strings. The string is always
declared as character arrays. Every string is terminated with ‘\0’ (NULL)
character. The NULL character is a byte with all bits at logic zero.

DECLARATION & INITIALIZATION OF STRING

The string can be initialized as follows:

char name[]=”India”;

The C compiler inserts the NULL character automatically at the end of the
string. So, initialization of NULL character is not essential.
Display of strings with different formats:

Let the character array be

Char name[]=”computer”;

S.No Statement Output Meaning


1. printf(“%s”,name); Computer The whole string is
displayed
2. printf(“%.5s”,name); Compu Only 5 characters are
displayed
3. printf(“%-10.4s”,name); Comp 4 characters from the
left are displayed

Read & write Strings in C using Printf() and Scanf() functions


#include <stdio.h>
#include <string.h>
int main()
{
/* String Declaration*/
char nickname[20];

printf("Enter your Nick name:");


scanf("%s", nickname);

/*Displaying String*/
printf("%s",nickname);

return 0;
}
19
Read & Write Strings in C using gets() and puts() functions
#include <stdio.h>
#include <string.h>
int main()
{
/* String Declaration*/
char nickname[20];

/* Console display using puts */


puts("Enter your Nick name:");

/*Input using gets*/


gets(nickname);

puts(nickname);

return 0;
}

STRING STANDARD FUNCTIONS

Every C compiler supports a large number of string handling library


functions. Some of the standard string functions are given below:

S.No Function Description


1. strlen( ) Determines the length of the string

2. strcpy( ) Copies a string from source to destination

3. strcmp( ) Compares the characters of two strings.

4. strcat( ) Appends source string to destination string

5. strrev( ) Reverses the string

6. strupr( ) Converts s to all uppercase

7. strlwr( ) Converts string to all lowercase

6. strncpy( ) Copy the specified number of characters

7. strncmp( ) Compare two string upto given n character

8. stricmp( ) Compare two strings alphabetically


without case sensitivity

20
9. strncat( ) Appends a string to the end of another
string up to n

10. strtok( ) Breaks a string into tokens by delimiters

C String function – strlen


It returns the length of the string without including end character (terminating
char ‘\0’).

Syntax:
strlen(string)

Example of strlen:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20] = "Welcome";
printf("Length of string str1: %d", strlen(str1));
return 0;
}

Output:
Length of string str1: 7

C String function – strcpy


The strcpy() function copies the string pointed by
source (including the null character) to the destination.

Syntax:
strcpy(destination, source);

Example of strcpy:

#include <stdio.h>
#include <string.h>
int main()
{
char s1[30];
char s2[30] = "Good Day!";
/* this function has copied s2 into s1*/
strcpy(s1,s2);
printf("%s", s1);
return 0;
}

Output:
Good Day!

C String function – strcmp


It compares the two strings and returns an integer value. If both the strings are
same (equal) then this function would return 0 otherwise it may return a negative or
positive value based on the comparison.
21
Syntax:
strcmp(str1, str2)

Example of strcmp:

#include <stdio.h>
#include <string.h>
int main()
{
char s1[20] = "Goodday";
char s2[20] = "Welcome";
if (strcmp(s1, s2) ==0)
{
printf("string 1 and string 2 are equal");
}
else
{
printf("string 1 and 2 are different");
}
return 0;
}

Output:
string 1 and 2 are different

C String function – strcat

It concatenates two strings and returns the concatenated string.

Syntax:
strcat(str1,str2)

Example of strcat:

#include <stdio.h>
#include <string.h>
int main()
{
char s1[10] = "Hello";
char s2[10] = "World";
strcat(s1,s2);
printf("Output string after concatenation: %s", s1);
return 0;
}

Output:
Output string after concatenation: HelloWorld

C String function – strrev


strrev( ) function reverses a given string in C language.
Syntax : strrev(string)
strrev(string)

Example of strrev:

22
#include<stdio.h>
#include<string.h>

int main()
{
char name[30] = "Hello";

printf("String before strrev( ) : %s\n",name);


printf("String after strrev( ) : %s",strrev(name));

return 0;
}
Output:
String before strrev( ) : Hello
String after strrev( ) : olleH

C String function – strlwr


strlwr( ) function converts a given string into lowercase.

Syntax
strlwr(string)

Example of strlwr:

#include<stdio.h>
#include<string.h>
int main()
{
char str[ ] = "MODIFY This String To LOwer";
printf("%s\n",strlwr (str));
return 0;
}
Output:
modify this string to lower

C String function – strupr


strupr( ) function converts a given string into uppercase.

Syntax
strupr(string)

Example of stuprr:

#include<stdio.h>
#include<string.h>

int main()
{
char str[ ] = "Modify This String To Upper";
23
printf("%s\n",strupr(str));
return 0;
}
Output:
MODIFY THIS STRING TO UPPER

STRING OPERATIONS USING PREDEFINED FUNCTIONS


#include <stdio.h>
#include <conio.h>
#include <string.h>
void str_len();
void str_comp();
void str_con();
void str_cpy();
char a[25],b[25],c[50];
void main()
{
int choice;
clrscr();
printf("1. finding the length of the string");
printf("\n2. string comparison");
printf("\n3. string copy");
printf("\n4. String concatenate");
printf("\nEnter ur choice");
scanf("%d",&choice);
switch(choice)
{
case 1:
str_len();
break;
case 2:
str_comp();
break;
case 3:
str_cpy();
break;
case 4:
str_con();
break;
default:
exit(1);
}
getch();
}

void str_len()
24
{
int n;
fflush(stdin);
printf("\n Enter the string");
gets(a);
n=strlen(a);
printf("\nThe length of the string is %d",n);
}

void str_comp()
{
fflush(stdin);
printf("\n Enter the I string");
gets(a);
printf("\nEnter the II String");
gets(b);
if(strcmp(a,b)==0)
printf("\n The two strings are identical");
else
printf("\nThe strings are different");
}

void str_cpy()
{
fflush(stdin);
printf("\n Enter the string");
gets(a);
strcpy(b,a);
printf("\nThe copied string :");
puts(b);
}

void str_con()
{
fflush(stdin);
printf("\n Enter the I string");
gets(a);
printf("\nEnter the II String");
gets(b);
strcat(a,b);
printf("\nThe concatenated string is : ");
puts(a);
}

OUTPUT:

25
1. finding the length of the string
2. string comparison
3. string copy
4. String concatenate

Enter ur choice 1

Enter the string computer

The length of the string is 9

STRING OPERATIONS WITHOUT USING PRE-DEFINED


FUNCTIONS

#include <stdio.h>
#include <conio.h>
#include <string.h>
void str_len();
void str_con();
void str_cpy();
char a[25],b[25],c[50];
void main()
{
int choice;
clrscr();
printf("1. finding the length of the string");
printf("\n2. string copy");
printf("\n3. String concatenate");
printf("\nEnter ur choice");
scanf("%d",&choice);
switch(choice)
{
case 1:
str_len();
break;
case 2:
str_cpy();
break;
case 3:
str_con();
break;
default:
exit(1);
}
getch();
}
26
void str_len()
{
int n=0,i;
fflush(stdin);
printf("\n Enter the string");
gets(a);
for(i=0;a[i]!='\0';i++)
n++;
printf("\nThe length of the string is %d",n);
}

void str_cpy()
{
int i;
fflush(stdin);
printf("\n Enter the string");
gets(a);
for(i=0;a[i]!='\0';i++)
b[i]=a[i];
printf("\nThe copied string :");
puts(b);
}

void str_con()
{
int n=0,i;
fflush(stdin);
printf("\n Enter the I string");
gets(a);
printf("\nEnter the II String");
gets(b);
for(i=0;a[i]!='\0';i++)
{
n++;
}
for(i=0;b[i]!='\0';i++)
{
a[n++]=b[i];
}
printf("\nThe concatenated string is : ");
puts(a);
}

27
OUTPUT:

1. finding the length of the string


2. string copy
3. String concatenate
Enter ur choice 2

Enter the string computer

The copied string : computer

TWO DIMENSIONAL CHARACTER ARRAY

Like a two-dimensional integer array, a character array can be a two


dimensional array. A collection of strings can be stored in a two dimensional
array.

The syntax is:

Char a[2][10];

Here, The array accommodates 2 strings with 9 characters long. The last
location is allotted for storing the NULL character.

Example Program;

#include<stdio.h>
void main()
{
char a[4][10],i,j,n;
clrscr();
printf("\nEnter the number of names to be stored in the array");
scanf("%d",&n);
printf("\nEnter the names one by one\n");
for(i=0;i<n;i++)
{
fflush(stdin);
gets(a[i]);
}
printf("\nThe names are\n");
for(i=0;i<n;i++)
{
puts(a[i]);
printf("\n");
28
}
getch();
}

OUTPUT:

Enter the number of names to be stored in the array3

Enter the names one by one


arthi
archana
kanimozhi

The names are


arthi
archana
kanimozhi

SORTING OF NAMES IN A TWO DIMENSIONAL CHARACTER


ARRAY

#include <stdio.h>
#include <conio.h>
void main()
{
char a[25][25],i,j,n,temp[20];
clrscr();
printf("\nEnter the no. of strings in the array");
scanf("%d",&n);
printf("\nEnter the strings in the array\n");
for(i=0;i<n;i++)
{
scanf("%s",a[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(a[i],a[j])>0)
{
strcpy(temp,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],temp);
}
}
29
}
printf("\nThe sorted strings in the array is \n");
for(i=0;i<n;i++)
{
printf("%s\n",a[i]);
}
getch();
}

OUTPUT:

Enter the no. of strings in the array3


Enter the strings in the array
cse
ece
it

The sorted strings in the array is


cse
ece
it

Search a String in the List of Strings


#include<stdio.h>
#include<string.h>
int main()
{
char str[20][50], s1[50];
int n, i, found=0;

printf("Enter how many string (names): ");


scanf("%d", &n);

printf("Enter %d strings:\n", n);


for(i=0; i<n; i++)
{
scanf("%s", str[i]);
}

printf("Enter a string to search: ");


scanf("%s", s1);

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


{
if(strcmp(s1, str[i]) == 0)
{
found=1;
printf("Found in row-%d\n", i+1);

30
}
}

if(found==0) printf("Not found");


return 0;
}

Output for the different test-cases:-

Enter how many string (names): 5


Enter 5 strings:
Java
HTML
Python
C++
Programming
Enter a string to search: Python
Found in row-3

Enter how many string (names): 3


Enter 3 strings:
C
C++
.NET
Enter string to search: Java
Not found

************

31

You might also like