/**
 * Να γραφεί συνάρτηση με το όνομα int replace(char x[],char letter) 
 * Η συνάρτηση θα λαμβάνει σαν όρισμα ένα αλφαριθμητικό x και ένα γράμμα letter και θα αντικαθιστά 
 * κάθε αριθμητικό σύμβολο σε αυτό το αλφαριθμητικό με το γράμμα που βρίσκεται στην παράμετρο letter.
 *  Η συνάρτηση θα πρέπει να επιστρέψει το πλήθος των αντικαταστάσεων που έκανε. Να γραφεί και μια main() συνάρτηση στην οποία να 
 * υπάρχει μια επίδειξη της κλήσης της replace.
**/

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


int replace(char x[],char letter)
{
	int count=0;
	int i;
	for(i=0;i<strlen(x);i++)
	{
		if(x[i]>='0' && x[i]<'9') 
		{
			x[i]=letter;
			count++;
		}
		
	}
	return count;
}

/** ayti i synartisi elegxei an to gramma x einai mesa sto synolo set **/
int isLetterInSet(char x,char set[])
{
	int i;
	for(i=0;i<strlen(set);i++)
	{
		if(set[i]==x) return 1;
	}
	return 0;
}

/** auti i synartisi allazei kathe gramma tou x pou einai sto set se letter
 * kai epistrefei tis allages pou ekane 
 * px. x="abc123", set="a1", letter='x' => x="xbcx23" */
int replaceInSet(char x[],char set[],int letter)
{
	int count=0;
	int i;
	for(i=0;i<strlen(x);i++)
	{
		if(isLetterInSet(x[i],set))
		{
			x[i]=letter;
			count++;
		}
	}
	return count;
}

int main()
{
	char protasi[100];
	char letter;
	char set[100];
	int k;
	printf("dose protasi \n");
	gets(protasi);
	printf("dose gramma\n");
	letter=getchar();
	while(getchar()!='\n');
	printf("Dose synolo \n");
	gets(set);
	k=replaceInSet(protasi,set,letter);
	printf("meta to replace protasi = %s kai k = %d \n",protasi,k);
	return 0;
}
