All pastes #28107 Raw Edit

Miscellany

public c v1 · immutable
#28107 ·published 2005-11-09 10:55 UTC
rendered paste body
/*TP2 : 2004 : Matrice - Allocation dynamique - Fichier printf("1) Taille_Image_Lecture_affiche \n");  // Determiner NL et NC; reserver memoire pr imageprintf("2) binarisation affiche\n");           //  Binarisation de l'image : 0 OU 1printf("3) Save_file_image\n");                //  Savegarder image binarisee dans fichierprintf("4) Affichage\n");printf("5) Affichage_TRANSF\n");               // Remplacer  '0' par espace et '1' par oprintf("6) DESALLOC_IMAGE\n");printf("7) Quitter\n");*/#include <stdio.h>#include <stdlib.h>#include <conio.h>#define Lin_Max 30// recherche le nombre de lignes et de colonnes du fichier void Taille_Image( int *NL, int *NC, char NOM_FICHIER[]){ FILE *PfL; char Buffer[500]; int  i;  // Lire et chercher NL et NC   printf("Entrez le nom du fichier a Lire : ");  scanf("%s",NOM_FICHIER);  PfL = fopen(NOM_FICHIER, "r");     if(PfL==NULL){		  printf("\nDESOLE!  pas de fichier :   %s\n\n\n",NOM_FICHIER);		  getch();		  exit(0);	  }  fscanf(PfL,"%d", NC);  i=0;  while (!feof(PfL))     {	  fgets(Buffer, *NC*4, PfL); // 4 car des valeurs entre 0 et 255 plus espace, donc 4 caracteres	  i++;     }  *NL= i-1;//  printf("\n NL=%d et NC=%d\n", *NL, *NC);  fclose(PfL);}void affiche(int NL, int NC, int *image[]){	int i, j;	for(i=0; i<NL; i++){		 printf("\n");		 for(j=0; j<NC; j++){			 printf("%d ",image[i][j]);		 }	 }}// Tranformation de l'affichagevoid affiche_TRANS(int NL, int NC, int *image[]){	int i, j;	 printf("\n\n");	for(i=0; i<NL; i++){		 printf("\n\n");		 for(j=0; j<NC; j++){			 if( image[i][j] == 1)			    printf("%c",'°');			 else				printf("%c",' ');		 }	 }	printf("\n\n");}// Allocation de la mémoirevoid ALLOC_IMAGE(){}//----------------------//desallocate image//----------------------void DESALLOC_IMAGE(){	}// Lecture et chargement du fichier quand NL et NC connusvoid Lecture(int NL, int NC, int *image[], char NOM_FICHIER[]){	}// Binarisation de l'imagevoid binarisation (      int nl, int nc){	int i,j;	int seuil;	printf ("seuil =  \n");	scanf("%d",&seuil);	for (i=0; i<nl; i++)	{		for (j=0; j<nc; j++)		{		//	...		}	}}// void Save_file_image (){	}int menu(){	int choix=0;	printf("1) Taille_Image_Lecture_affiche \n");	printf("2) binarisation affiche\n");	printf("3) Save_file_image\n");	printf("4) Affichage\n");	printf("5) Affichage_TRANSF\n");	printf("6) DESALLOC_IMAGE\n");	printf("7) Quitter\n");		scanf("%d", &choix);	return choix;}//+++++++++++++++++++++++++++++++++++++++++++++void main(){ int L, C, rep; char NOM_FICHIER[30]; int *image[Lin_Max]; do{		rep=menu();		switch(rep)		{		case 1  : 			Taille_Image( &L, &C, NOM_FICHIER);			printf("\n L=%d et C=%d\n", L, C);			Lecture(L, C, image, NOM_FICHIER);			affiche(L, C, image);			break;		case 2  : 			printf("\n OUT \n");			binarisation (      L, C);			affiche(L, C, image);			break;		case 3  : Save_file_image(              );				break;		case 4  : affiche(L, C, image);				break;		case 5  : affiche_TRANS(L, C, image);				break;						case 6  : DESALLOC_IMAGE(        );				break;		case 7  : printf(" Fin du programme \n");					break;		default	  : printf(" Il faut choisir entre (1), (2) ou (3) ...\n");		}		printf("\n");	}while(rep!=7);}