Module d'intégration de chaines dans une matrice : scrable

Description

Ce module permet d'inserrer des chaines de charactères dans une matrice. De cette façon, nous pouvons ajouter des mots dans une grille de scrable...

Source / Exemple :


#include "matrice.h"

matrice matrice_creer(unsigned int largeur, unsigned int hauteur){
	matrice m;
	unsigned int i,j;
	m.nbLignes=hauteur;
	m.nbColonnes=largeur;
	m.matrix=(char**)malloc(sizeof(char*)*hauteur);
	for(i=0;i<hauteur;i++)
		m.matrix[i]=(char*)malloc(sizeof(char*)*largeur);
	for(i=0;i<m.nbLignes;i++){
		for(j=0;j<m.nbColonnes;j++){
			m.matrix[i][j]='.';
		}
	}
	return m;
}

void matrice_detruire(matrice m){
	unsigned int i;
	for(i=0;i<m.nbLignes;i++)
		free(m.matrix[i]);
	free(m.matrix);
}

matrice matrice_cloner(matrice m){
	unsigned int i,j;
	matrice MaNewMat=matrice_creer(m.nbColonnes,m.nbLignes);
	for(i=0;i<m.nbLignes;i++){
		for(j=0;j<m.nbColonnes;j++){
			MaNewMat.matrix[i][j]=m.matrix[i][j];
		}
	}
	return MaNewMat;
}

void matrice_modifier(matrice *m, unsigned int numLigne, unsigned int numColonne,char Lettre){
	m->matrix[numLigne][numColonne]=Lettre;
}

int matrice_largeur(matrice m){
	return m.nbColonnes;
}

int matrice_hauteur(matrice m){
	return m.nbLignes;
}

char matrice_valeur(matrice m, unsigned int numLigne, unsigned int numColonne){
	return m.matrix[numLigne][numColonne];
}

void matrice_ajoute_mot(matrice *m, unsigned int numLigne, unsigned int numColonne,char sens,char chaine[]){
	int i=0;
	while((numLigne<m->nbLignes)&&(numColonne<m->nbColonnes)&&(chaine[i]!='\0')){
		m->matrix[numLigne][numColonne]=chaine[i];
		i++;
		if(sens=='H')//H ou V
			numColonne++;
		else
			numLigne++;		
	}
}

void matrice_afficher(matrice m){
	int i,j;
	for(i=0;i<m.nbLignes;i++){
		for(j=0;j<m.nbColonnes;j++){
			printf("%c ",m.matrix[i][j]);
		}
		printf("\n");
	}
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.