50 lines
		
	
	
	
		
			831 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			831 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <stdio.h>
 | |
| #include <string.h>
 | |
| #include <stdlib.h>
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	char * min;
 | |
| 	char * max;
 | |
| } MINMAX;
 | |
| 
 | |
| void chaineminmax ( char **t, MINMAX *m);
 | |
| 
 | |
| int main(int argc, char **argv)
 | |
| {
 | |
| 	argc--;
 | |
| 	argv++;
 | |
| 	MINMAX m;
 | |
| 	char **t = malloc((argc+1) * sizeof(char *));
 | |
| 	int i = 0;
 | |
| 	while(i < argc)
 | |
| 	{
 | |
| 		t[i] = argv[i];
 | |
| 		i++;
 | |
| 	}
 | |
| 	t[i] = NULL;
 | |
| 
 | |
| 	chaineminmax(t,&m);
 | |
| 	printf("Il y a désormais dans \"m\", min = %s  et max = %s\n",m.min,m.max);
 | |
| }
 | |
| 
 | |
| void chaineminmax ( char **t, MINMAX *m)
 | |
| {
 | |
| 	char *mmin = *t;
 | |
| 	char *mmax = *t;
 | |
| 	t++;
 | |
| 	while(*t)
 | |
| 	{
 | |
| 		if(strcmp(*t,mmax) > 0)
 | |
| 			mmax = *t;
 | |
| 		if(strcmp(*t,mmin) < 0)
 | |
| 			mmin = *t;
 | |
| 		t++;
 | |
| 	}
 | |
| 	m->min = malloc(strlen(mmin+5) * sizeof(char));
 | |
| 	m->max = malloc(strlen(mmax+5) * sizeof(char));
 | |
| 	strcpy(m->min,mmin);
 | |
| 	strcpy(m->max,mmax);
 | |
| 	strcat(m->min, ".min\0");
 | |
| 	strcat(m->max, ".max\0");
 | |
| }
 | 
