Triangle de pascal en c

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 661 fois - Téléchargée 30 fois

Contenu du snippet

Ceci est un code très simple pour débutant. Il utilise le principe du simple calcul sans passer par les combinaisons.
Bon prog!

Source / Exemple :


#include <stdio.h>								//la bibliothèque standard
#include <stdlib.h>								//bibliothèque de fonctions d'allocation

int entreedim();
int **matrice(int n,int m);
void entree ( int **a,int n,int m);
void affiche( int **a, int n);
void erreur (char *message);

int main()
{
	int **a, n;

	n = entreedim();		//entrer la dimension du triangle
	a = matrice (n,n);		//on travaille sous forme de matrice
	entree ( a, n, n);		//entrer les nombres
	affiche (a, n);			//affichage

	return 0;
}

int entreedim()
{
	int n;
	printf("\n Entrer l'ordre du triangle:");
	scanf("%d",&n);			//saisie de la dimension
	return n;
}

int **matrice(int n,int m)
{
	int *bloc, **v;
	int i;

	bloc = (int **)calloc (n*m,sizeof(int *));		//allocation d'un long bloc
	if (!bloc)
	{
		erreur("Erreur d'allocation du vecteur");
		exit(1);
	}

	v = (int*)calloc(n,sizeof(int));				//découper le bloc en plusieurs vecteurs
	if(!v)
	{
		erreur("Erreur de découpage du bloc");
		exit(1);
	}

	for (i=0; i<n; i++)								//attribuer chaque vecteur en une colone de matrice
		v[i] = &bloc[i*m];

	return v;
}

void entree ( int **a,int n,int m)
{
	int i,j;

	for (i=0; i<n; i++)
	{
		a[i][0] = 1;
		a[i][i] = 1;
	}

	for (i=1; i<n; i++)
	{
		for (j=1; j<=i; j++)
		{
			a[i][j] = a[i-1][j-1] + a[i-1][j];		//Selon le bon vieux principe arithmétique
		}
	}
}

void affiche( int **a, int n)
{
	int i,j;

	for (i=0; i<n; i++)
	{
		for (j=0; j<=i; j++)
			printf("%d\t",a[i][j]);
		printf("\n");
	}
}

void erreur(char *message)							//Pour les messages d'erreurs
{
	printf("%s",message);
}

Conclusion :


Toute modification sera la bienvenue., surtout pour y ajouter une interface graphique.Merci!
aliaz_li@yahoo.fr

A voir également

Ajouter un commentaire

Commentaires

jad_raad
Messages postés
15
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
6 juin 2005

ton programme marche pas
aliazli
Messages postés
2
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
28 mai 2003

Xcuz mais je ne compren pas Aasea
Aasea
Messages postés
15
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009

Wesh , c du kode =), meme si jai rien vu :p
aliazli
Messages postés
2
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
28 mai 2003

Merci Baltawar, ça me remonte vraiment le morale et me donne courage
cs_Baltawar
Messages postés
40
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
1 août 2003

Salut aliazli,

Propre ton code, bravo continu comme ca ... y en a qui devraient en prendre de la graine ...

A+

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.