/**
Σε αυτήν την άσκηση παρουσιάζονται τεχνικές
για να πάρουμε ένα τμήμα ενός αλφαριθμητικού 
από κάποιο άλλο **/
# include <stdio.h>
# include <string.h>


/** Αυτή η συνάρτηση αντιγράφει τα γράμματα του x από την θέση
 * start μέχρι και την θέση end στο αλφαριθμητικό y 
 * px. x="ab123456"
 *     start=2
 *     end=4
 *     y="123"
 * 
 * **/
void substring(char x[],char y[],int start,int end)
{
	int i;
	for(i=start;i<=end;i++)
	{
		/** auto einai lathos giati bazei sto y[start]  to x[start] **/
		printf("copy %d => %d \n",i,i-start);
		y[i-start]=x[i];
	}
	/** bazo sto telos tou y ton xaraktira termatismou **/
	y[end-start+1]='\0';
}


/** Αυτή η συνάρτηση βάζει στο αλφαριθμητικό y εκείνα τα γράμματα του x 
 * που περιέχονται στο σύνολο set **/
void substringfromset(char x[],char y[],char set[])
{
	int i,j;
	/** to count metraei posa grammata mpikan sto y **/
	int count=0;
	for(i=0;i<strlen(x);i++)
	{
		for(j=0;j<strlen(set);j++)
		{
			if(x[i]==set[j])
			{
				y[count]=x[i];
				count++;
				break;
			}
			
		}
		
	}
	/** bazo sto telos tou y ton xaraktira termatismou **/
	y[count]='\0';
}

int main()
{
	char protasi[100];
	char copystring[100];
	int start,end;
	printf("Dose protasi\n");
	gets(protasi);
	printf("Dose oria ");
	scanf("%d %d",&start,&end);
	substring(protasi,copystring,start,end);
	printf("Teliko string = %s \n",copystring);
	return 0;
}
