Qui pourrait m'aider à donner la touche finale à ce programme?
Càd le verifier et rendre compilable et executable?
#include <stdio.h>
#include <stdlib.h>
#define PMAX 13 /*Nombres maximum de lignes et de colonnes*/
#define DMAX 10 /*Degre maximum de notre triangle*/
/*Prototype des appels fonctions appellées par main*/
void triangleP(int P[13][13]);
int afficheP(int P[13][13], int D);
main()
{
int i,j;
int P[13][13];
int D; /* degré du triangle*/
while(D>10 || D <0)
printf("Entrez le degre D du triangle:\n", D);
scanf("%2d", &D);
void triangle(int i,int j);
affiche(P);
printf("afficher le triangle:\n",P ,D);
return P[13][13];
}
/*ON CONSTRUIT LES LIGNES DE 0 à D DE NOTRE TRIANGLE*/
/*ENSUITE GRÂCE A UNE FORMULE DE CALCUL CONSECUTIFS(1) NOUS CALCULONS CHAQUE
JUSQUE A LA DIAGONALE PRINCIPALE. */
void triangleP(int P[13][13])
{
int D; /* degré du triangle */
int i, j; /* indices courants */
for (i=0; i<=D; i++)
{
P[i][i]=1; /*on initialise la premiére ligne de notre triangle*/
P[i][0]=1; /*la seconde ligne nous fournit le même resultat*/
for (j=1; j<i; j++)
{
P[i][j] = P[i-1][j] + P[i-1][j-1]; /*(1)*/
}
}
/*GRÂCE A CETTE FONCTION NOUS AFFICHONS NOTRE TRIANGLE D'UN DEGRE DEFINI*/
int afficheP(int P[13][13],int D)
{
for (j=0; j<=i; j++)
if (P[i][j])
printf("%5d", P[i][j]);
printf("\\n");
}
}
Je suis mort là;je n'avance plus et pourtant dans une demi heure je dois le remettre!!!
Tu ne connais pas les règles de politesse de base? A vrai dire tu ne connais pas non plus les "règles" du C de base. On n'envoie pas un tableau 2D à une fonction comme cela, il faut juste lui donner la taille de la 2e dimension pas la première. Ensuite la fonction main est de type int car elle renvoi quelque chose (d'ailleurs qu'est-ce que tu lui renvois toi?! return 0; et pis c'est tout). Je vois aussi une boucle sans { } c'est très intéressant ça printfera juste une phrase à l'infinie. Et qu'avons-nous pour finir ? Ah oui un appel de fonction foiré (on ne donne pas le type de la fonction à son appel) et une fonction afficheP bancale. Après au niveau de l'algo j'ai la flemme, je compte sur ton esprit mathématique pour avoir eu la bonne logique.
Bref tu dois le rendre bientôt, prépares toi à avoir une sale note. (pwnd)
Note: Apprendre + prendre de l'avance = réussite assurée.
EDIT: arrête de créer des topics toutes les 5 minutes, c'est lourd. C'est pas de notre faute si tu fais tout à la dernière minute comme un bourrin avec des pseudos connaissances. D'ailleurs j'hésite à effacer mon post car oui je trouverais ça assez juste (et, ma foi, très rigolo) que tu te tapes une mauvaise note.
Je te trouve trés insultant Gambit2099...quand tout ce que j'ai fais jusqu'ici c'et juste te demander de l'aide.Je me réjouis pour toi que tu n'aies pas autant de dificultés que moi...mais de grâce ne sois pas insultant!!!!Je recherche de l'aide c'est tout!!!
Tu cherches de l'aide mais tu cherches MAL. Tu demandes directement dans ton troisième topic le code complet qui fonctionne: ok, tu me payes combien? Non car il y a de l'aide et il y a de la soumission. C'est pas en te donnant un code fini que tu comprendras quoique ce soit. Je t'ai donné dans mon précédent post "tout" ce qui n'allait pas. Corrige ça et renvoi ton code et on y regardera de plus près
Salut,
Comme ton code est plein de fautes syntaxiques, je vais essayer de te montrer ce qui ne va pas dans les grandes lignes et je ne vais pas corriger l'algorithme pour l'instant car je suis fatigué ^^.
Tout d'abord, petit détail. Lorsque tu crées un topic, il ne faut pas mettre "salut" ou "bonjour" comme titre mais comme première phrase du texte, comme je viens de le faire.
Ensuite, niveau syntaxe, Gambit2099 a déjà évoqué pratiquement tout ce qui ne vas pas.
Tout d'abord, le main:
int main() //renvoie un int
{
int i,j;
int P[13][13];
int D; /* degré du triangle*/
printf("Entrez le degre D du triangle:\n", D); //on demande D avant d'entrer dans la boucle sinon on D peut avoir n'importe quelle valeur
scanf("%d", &D);
while(D>10 || D <0)
triangleP(P, D); //un appel de fonction se fait juste avec le nom et les paramètres. De plus, ton programme ne connaît pas triangle mais triangleP
afficheP(P, D); // voir remarques au dessus
printf("afficher le triangle:\n",P ,D); //inutile si tu affiche avec la fonction afficheP(de plus cette syntaxe est fausse)
return 0; //renvoie un int
}
Pour la fonction triangleP:
void triangleP(int P[13][13], int D) // tu as besoin d'une valeur venant de la fonction main. Elle doit donc être passée en paramètre.
{
int i, j; /* indices courants */
for (i=0; i<=D; i++)
{
P[i][i]=1; /*on initialise la premiére ligne de notre triangle*/
P[i][0]=1; /*la seconde ligne nous fournit le même resultat*/
for (j=1; j<i; j++)
{
P[i][j] = P[i-1][j] + P[i-1][j-1]; /*(1)*/
}
}
Pour la fonction afficheP:
void afficheP(int P[13][13],int D) //void car elle ne renvoie rien
{
for (j=0; j<=i; j++)
{ //ajouter les {} qui manquent
if (P[i][j])
{
printf("%d", P[i][j]);
printf("\\n");
}
}
}
Il est possible qu'il reste des erreurs car je n'ai pas tout analysé au niveau syntaxique. Par contre, je peux te dire que même avec ces quelques corrections, le programme ne marchera pas. Je le vois avec ton algorithme. Mais cela, je penses que tu peux le régler toi même.
qui peut m'aide pour ditecte la faut de programation de triangle de pascal
#include <stdio.h>
main()
{
/* Déclarations */
int P[14][14]; /* matrice résultat */
int N; /* degré du triangle */
int I, J; /* indices courants */
/* Saisie des données */
do {
printf("Entrez le degré N du triangle (max.13) : ");
scanf("%d", &N);
} while (N>13||N<0); /* Construction des lignes 0 à N du triangle: */ /* Calcul des composantes du triangle jusqu'à */ /* la diagonale principale. */ for (I=0; I<=N; I++) { P[I][I]=1; P[I][0]=1; for (J=1; J<I; J++) P[I][J] = P[I-1][J] + P[I-1][J-1]; }
/* Edition du résultat */
printf("Triangle de Pascal de degré %d :\n", N);
for (I=0; I<=N; I++)
{
printf(" N=%2d", I);
for (J=0; J<=I; J++)
if (P[I][J])
printf("%5d", P[I][J]);
printf("\n");
}
return 0;
}
je ferme ce sujet de 2009 (!) qui se fait régulièrement remonter par des goujat⋅te⋅s qui semblent 1) ne pas avoir cherché avant, 2) ne pas avoir lu le sujet, bon sang.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)