Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3473 connectés 

 


Dernière réponse
Sujet : Exo de programmation en language C, j?arrive pas ! Help me !
sircam Impressionant. [:roane]

Elmoricq a écrit :

(va falloir que je me fasse une image "Gold Shovel Seal of Approval" [:dawa])


Ca s'appelle une pelle à clous?


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
sircam Impressionant. [:roane]

Elmoricq a écrit :

(va falloir que je me fasse une image "Gold Shovel Seal of Approval" [:dawa])


Ca s'appelle une pelle à clous?

Elmoricq Et la pelle d'or du jour...
 
(va falloir que je me fasse une image "Gold Shovel Seal of Approval" [:dawa])
viva566 Salut, je fais un petit programme pour Triangle de Pascal:
 
#include <stdio.h>
#define MAX 10
 
int main(){
int nbl = MAX;
 
 int i, j;
 int t[nbl][nbl];
 
 for(i=0; i<nbl; i++){
     for(j = 0; j<nbl; j++){
          if (i==0 && j==0) {
             t[i][j] = 1;
          printf("%d\t", t[i][j]);
          }else if(i==0 && j!=0){
             t[i][j]=0;
             printf("%d\t", t[i][j]);
          }else if (j==0 && i){
             t[i][j]=1;
             printf("%d\t", t[i][j]);
          }else{
          t[i][j] = t[i-1][j] + t[i-1][j-1];
             printf("%d\t", t[i][j]);
          }
     }
      printf ("\n" );
 }
 
 
      system("PAUSE" );
      return 0;
}
beyonder

Hornet a écrit a écrit :

ok merci à tous et ton prog marche super bien tfj57.  




 
La version de tjj57 n'est pas approprié a cet exercice
sur le triangle de pascal car elle calcule directement  
les éléments avec les combinatoires
ce n'est pas l'interet du triangle qui est
element(ligne,colonne)=element(ligne-1,colonne)+
element(ligne-1,colonne-1).
Sinon je crois pas que l'on puisse faire mieux
que le programme de THEJACKAL .

TheJackal je fait plus que 2 boucle for  :??:  
le paire de deuxieme c pour afficher mais j'aurai tres bien pu faire ca dans la premiere

 

[edtdd]--Message édité par TheJackal--[/edtdd]

la viper moi on m'a appris un truc en info ... rigueur et methode.
apres la bidouille ca fonctionne aussi mais ca le desaventage d'avoir un coefficient au bug enorme.
 
mon prog n'est pas rigide, il peut etre simplement adapté avec des tableaux dynamiques.
 
maintenant, effectivement suivant la question du prof, la reponse varie
MrSpool

la viper a écrit a écrit :

c'est ma version la mieux  :D  
 
car je fais que 2 boucles for et c'est du C pur  :crazy:  




 
Tout ca me fait bien rire. L'exercice de logique typique ... une solution lourde à base de tableau. Le but réel du prof est de faire penser aux simplification. Ici, surtout ne pas utiliser de tableaux qui créent dans cet exemple un programme rigide.
L'erreur bète (oui, très bète) c'est de pas connaitre les régles de base de la programmation en c.
a;b;b+b; << ce sont des lignes qui serve à rien mais elles peuvent etre ecritent dans n'importe quel programme qui connait les varible a et b.
 
A+

la viper c'est ma version la mieux  :D  
 
car je fais que 2 boucles for et c'est du C pur  :crazy:
gooopil merci
verdoux Bouffon
gooopil Je suis d'accord avec je sais plus qui, faut faire un tableau à 2 dims.Tu peux remplir les deux premières lignes :
1 0 0 0 0
1 1 0 0 0
et la première colonne pleine de 1.
Les 0 servent car comme ça t'as pas besoin de vérifier si ton tableau est vide.
Après c un bête parcourt
 
Bon ça se trouve quelq'un t'as déjà dit la même chose mais g pas le courage de lire tout le post.
a+
TheJackal :sol:

 

[edtdd]--Message édité par TheJackal--[/edtdd]

nur A mon avis la version de thejackal est la plus rapide car
elle ne contient que des additions.
Hornet ok merci à tous et ton prog marche super bien tfj57.
TheJackal

Code :
  1. void main()
  2. {
  3. int p[size][size];
  4. // fill the table
  5. for (int r=0; r < size; r++) {
  6.  p[r][0] = 1;
  7.  p[r][r] = 1;
  8.  for (int c=1; c < r; c++) {
  9.   p[r][c] = p[r-1][c] + p[r-1][c-1];
  10.  }
  11. }
  12. // show the table
  13. for (int r=0; r < size; r++) {
  14.  for (int c=0; c <= r; c++) {
  15.   cout << p[r][c] << "  ";
  16.  }
  17.  cout << endl;
  18. }
  19. }

 

[edtdd]--Message édité par TheJackal--[/edtdd]

beyonder Une autre version sous forme d'algorythme a la
sauce VB facilement adaptable:
 
 
dim tt(9,9) as integer 'on fait avec N=10
dim N as integer
 
sub main()
N=10
'initialise les premiers elements des colonnes a 1
for i=0 to N-1
tt(i,0)=1
next
 
'initialise la premiere colonne a 1
for i=0 to N-1
tt(0,i)=1
next
 
for colonne=1 to N-1
remplitableau(colonne)
next
 
affichage()
 
end sub
 
 
sub remplitableau(col as integer)
 
for i=1 to N-col-1
tt(col,i)=tt(col,n-1)+tt(col-1,i-1)
next
 
end sub
 
 
 
sub affichage()
for j=0 to N-1
for i=0 to j
print((tt(i,j-i) & " " )
next
print 'on saute une ligne
next
end sub

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)