Limitations :
- Hard coded paragraph
- The word to be found and to be replaced with must be of the same lengths.
- For those who have no idea of pointers, simple char array is used hence hard coded the size as well.
Code:
#include <iostream>
#include <conio.h>
using namespace std;
void mySearch(char para1[], int size, char find[], int fsize, int &index, int x) //Search function
{
index = -1;
int i = 0;
if (find[i] == para1[x]) //para1 is the array that contains paragraph
{
//find contains the word to be found
int j = x, flag = 0;
for (i = i + 1; i < size && find[i] != '\0' && flag == 0; i++)
{
x++;
if (find[i] == para1[x])
{
;
}
else
flag = 1; //if the complete word is not found ... breaks the loop
}
if (flag == 0)
{
index = i; //if the complete word is found
}
}
}
char toReplace(char replace[], int size, char para[], int rsize, int index, int x1) //this function replaces
{
int i = index;
para[i] = replace[x1];
return para[i];
}
int main()
{
char para[400] = "Cheating is the getting of a reward for ability by dishonest means or finding an easy way out of an unpleasant situation. It is generally used in situations to gain unfair advantage in a competitive situation. This broad definition will necessarily include acts of bribery, cronyism, sleaze, nepotism and any situation where individuals are given preference using inappropriate criteria."; //hard coded para
cout << para << endl; //displaying paragraph (optional)
char find[10], replace[10];
cout << "Find : ";
cin >> find;
cout << endl << "Enter the word to replace with : ";
cin >> replace;
cout << endl;
int index = 0, j = 0;
char w;
for (int i = 0; para[i] != '\0'; i++)
{
mySearch(para, 400, find, 10, index, i);
if (index != -1)
{
for (j; replace[j] != '\0'; j++)
{
w = toReplace(replace, 10, para, 400, index, j);
cout << w;
index++;
i++;
}
i--;
j = 0;
}
else
cout << para[i]; //displaying paragraph
}
system("pause");
return 0;
0 comments:
Post a Comment