Sort String Ignoring Whitespaces and Repeating Characters Only Once
#include
#include
#include
#define size 50
void main()
{
char string[size], string1[size], string2[size];
int i, j = 0, a = 0, temp, len = 0, len1 = 0, k = 0;
clrscr();
printf("\nEnter a string:");
scanf("%[^\n]s", string1);
for (i = 0;string1[i] != '\0';i++)
{
if (string1[i] == ' ')
{
continue;
}
string[j++] = string1[i];
}
for (i = 0;string[i] != '\0';i++)
{
for (j = i + 1;string[j] != '\0';j++)
{
if (string[i] > string[j])
{
temp = string[i];
string[i] = string[j];
string[j] = temp;
}
}
}
string[i] = '\0';
len = strlen(string);
for (i = 0;string[i] != '\0';i++)
{
if (string[i] == string[i + 1] && string[i + 1] != '\0')
{
k++;
continue;
}
string2[a++] = string[i];
string[a] = '\0';
}
len1 = len - k;
printf("The sorted string is:");
for (temp = 0;temp < len1;temp++)
{
printf("%c", string2[temp]);
}
getch();
}
Output
Enter a string:abcdel bcdl abcdefg
The sorted string is:abcdefgl
Reverse
the String using Both Recursion and Iteration
#include
#include
#include
void disp_str1_rec(char *);
void main()
{
char str1[100], *ptr;
int len1 = 0, i;
char ch;
clrscr();
printf("Enter the string:\n");
scanf("%[^\n]s", str1);
ptr = str1;
len1 = strlen(str1);
printf("Using iteration:\n");
for (i = len1 - 1; i >= 0;i--)
{
ch = str1[i];
printf("%c", ch);
}
printf("Using recurssion:\n");
disp_str1_rec(ptr);
}
void disp_str1_rec(char *stng)
{
char ch;
if (*stng != '\0')
{
ch = *stng;
stng++;
disp_str1_rec(stng);
printf("%c", ch);
}
else
return;
getch();
}
Output
Enter the string:
welcome to sanfoundry's c programming class
Using iteration:
ssalc gnimmargorp c s'yrdnuofnas ot emoclew
Using recurssion:
ssalc gnimmargorp c s'yrdnuofnas ot emoclewi
No comments:
Post a Comment