online faq recherche accueil
 

Il y a 210 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
 Page :  1  2  3
Page Précédente 
Auteur
 Sujet :

Le langage C/C++ pour tous, si vous avez des questions ou aider... :)

 
n°4717185
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 07-03-2005 à 09:04:48  profilanswer
 

Coucou!
 
A l'instar du topic sur les mathematiques pour tous, je me suis dis que l'on aurait pu egalement faire un topic dans le meme genre mais sur le langage C/C++.
 
Car je pense qu'il doit bien y avoir quelques programmeurs ici et que d'autres apprennent (comme moi :p ) et peuvent avoir besoin d'aide :)
 
Et puis, j'aurais deja une question en fait a poser :)
 
j'ai le code suivant:
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void affichage(char ** tab_mot, int t)
  4. {
  5. int i=0;
  6. char toto[3];
  7. printf("liste des mots\n" );
  8. printf("Mot francais %s\n",tab_mot[i]);
  9. for (i=0;i<t;i=i+2){
  10.  printf("toto1" );
  11.  scanf("%s",toto);
  12.  printf("Mot francais %s\n",tab_mot[i]);
  13.  printf("Mot anglais %s\n",tab_mot[i+1]);
  14.  printf("toto2" );
  15.  scanf("%s",toto);
  16. }
  17. }
  18. void main(void)
  19. {
  20. FILE * entree;
  21. char chaine[20];
  22. char ** tab;
  23. int i, nbmot, p;
  24. char txt[10];
  25. scanf("%s",txt);
  26. entree=fopen(txt,"r" );
  27. if (entree!=NULL){
  28.  fscanf(entree,"%s",chaine);
  29.  i=0;
  30.  nbmot=0;
  31.  while(chaine[i]!='\0'){
  32.   nbmot=nbmot*10+chaine[i]-48;
  33.   i++;
  34.  }
  35.  printf("Nombre de mots= %d\n",nbmot);
  36.  p=0;
  37.  while (!feof(entree)){
  38.   fscanf(entree,"%s",chaine);
  39.   printf("flot=%s\n",chaine);
  40.   tab=(char **)malloc(sizeof(char *)*nbmot);
  41.   tab[p]=chaine;
  42.   printf("tab= %d %s\n",p,tab[p]);
  43.   p++;
  44.  }
  45.  affichage(tab,nbmot);
  46.  fclose(entree);
  47. }
  48. else
  49.  exit(-1);
  50. }


 
Donc dans un fichier du type
 


3
salut
hello
comment
how
oui
yes


 
on stock des mots, le chiffre est le nombre de mot ;) et apres les mots .
Donc dans la fonction main, j'affiche le tableau des mots et ca marche tres bien, par contre dans la fonction affichage, ca plante ici:
printf("Mot francais %s\n",tab_mot[i]);
 
pourquoi?
 
merci beaucoup


---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4717187
chewy
Posté le 07-03-2005 à 09:18:36  profilanswer
 

C'est vieux ces co.... Enfin, à vue de nez, ça doit venir de ta déclaration de ton paramètre dans la fonction affichage...
 
Mais c'est un avis personnel, bien content d'être passer à d'autres langages plus lisibles, moi...

n°4717215
Harkot
Be rebels, enjoy life!
Posté le 07-03-2005 à 11:07:45  profilanswer
 

Dans ton main, tu fais un malloc sur "tab" dans ta boucle, ce qui fait qu'a chaque tour de boucle tu écrase l'ancien "tab".
 
Si tu veux tester correctement l'affichage avant ta fonction affichage sors le printf de ta boucle ;)
 
Et sinon j'ai du mal à voir l'interet de ca :

Code :
  1. while(chaine[i]!='\0'){
  2.    nbmot=nbmot*10+chaine[i]-48;
  3.    i++;
  4. }


Message édité par Harkot le 07-03-2005 à 11:08:19

---------------
"Le secret de la liberté, c'est la librairie." Bernard Werber
"Un livre est une fenêtre par laquelle on s'évade." Julien Green

n°4717305
Grubnatz
Je suis une laitue verte.
Posté le 07-03-2005 à 13:48:35  profilanswer
 

Ton titre est étrange.

n°4717323
jilbi
Holy En'Djinn !
Posté le 07-03-2005 à 15:29:13  profilanswer
 

pfffffffff, t'aimes t'amuser avec les pointeurs toi  
euh ça :  

Code :
  1. char ** tab_mot


 
c'est pas une declaration de matrice ? ( oui je sais,  j'ai du mal, mais ma specialité c'est le JAVA, ça fait un moment que je ne me suis pasamuser avec les pointeur, malloc, free... )
 
 
essaie , au pif:  
 

Code :
  1. printf("Mot francais %s\n",*tab_mot[i]);

 
( partout le *tab, vu que t'as une reference sur une reference d'adresse, et que avec les [], tu te referes à la premiere adresse, et comme tu es dans la declaration de la fonction, je crois qu'il faut laisser les "*" )
 
pis laisse tomber les pointeurs, ça pue :p ( pis t'as oublier le free sur tab, à la fin )
 
@harkot
 

Code :
  1. while(chaine[i]!='\0'){ 
  2.       nbmot=nbmot*10+chaine[i]-48; 
  3.        i++; 
  4.      }


c'est pour convertir la chaine de caractere representant le chiffre en integer, il me semble ( ha ça, sans mon brave Integer.parseInteger(String chaine_a_parser ) , je suis perdu :p )


Message édité par jilbi le 07-03-2005 à 15:30:41

---------------
The Machine is strong. We must purge the weak, hated flesh and replace it with the blessed purity of metal. Only through permanence can we truly triumph, only through the Machine can we find victory. Punish the flesh! Iron in mind and body! Hail the Machine!
-guide : zealmancer / drakulmancer  / avengemancer  / loi du talion  
[:jilbi][:jilbi:7][:jilbi:8][:jilbi:9]
n°4717328
Harkot
Be rebels, enjoy life!
Posté le 07-03-2005 à 15:39:45  profilanswer
 

ah ouais t'as raison... d'où le 3 au début du fichier... n'empêche il pourrait les compter directement en les parsant... genre nbmot=(p+1)/2... En plus là il ne l'utilise pas, cela semble être uniquement informatif vu qu'il va jusqu'à la fin du fichier quoi qu'il arrive.
 
et sinon oui c'est une matrice le ** ;)
et les pointeurs c'est bien si on veut optimiser en vitesse et si on ne connait pas le nombre de caractères/strings qu'on veut stocker :p (et effectivement les free c'est utile :o)


---------------
"Le secret de la liberté, c'est la librairie." Bernard Werber
"Un livre est une fenêtre par laquelle on s'évade." Julien Green

n°4717337
jilbi
Holy En'Djinn !
Posté le 07-03-2005 à 16:00:42  profilanswer
 

au fait , ça compile le truc ? qu'est ce qu'il sort comme message d'erreur ?
@hakot: l'avantage du java ( du C# aussi donc ), c'est que tout est pointeur, mais c'est masqué :D


---------------
The Machine is strong. We must purge the weak, hated flesh and replace it with the blessed purity of metal. Only through permanence can we truly triumph, only through the Machine can we find victory. Punish the flesh! Iron in mind and body! Hail the Machine!
-guide : zealmancer / drakulmancer  / avengemancer  / loi du talion  
[:jilbi][:jilbi:7][:jilbi:8][:jilbi:9]
n°4717352
GrosPiF
Quoi j'ai l'air fatigué ?
Posté le 07-03-2005 à 16:44:22  profilanswer
 

Au le zoli topic, justement l'autre jour j'avais une heure de creux et comme je savais pas quoi faire j'ai fais un pendu pour jouer dans le terminal unix.
C'est loin d'être parfait mais je commence juste le c (info 1 iut), on fait plus de java mais c(est pas le sujet du topic.
Je balance le code pour ceux que ca interresserais :

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void dessin(int test){
  4. /*debut*/
  5. if(test==8){
  6. printf("\n\n\n\n\n _______" );
  7. printf("\n\n" );
  8. }
  9. /*une*/
  10. if(test==7){
  11. printf("\n\n    |   \n" );
  12. system("sleep 0,1" );
  13. printf("    |   \n" );
  14. system("sleep 0,1" );
  15. printf("    |   \n" );
  16. system("sleep 0,1" );
  17. printf("    |   \n" );
  18. system("sleep 0,1" );
  19. printf("    |   \n" );
  20. system("sleep 0,1" );
  21. printf(" ___|___\n" );
  22. printf("\n\n" );
  23. }
  24. /*deux*/
  25. if(test==6){
  26. printf("\n\n     ______\n" );
  27. printf("    |   \n" );
  28. system("sleep 0,1" );
  29. printf("    |   \n" );
  30. system("sleep 0,1" );
  31. printf("    |   \n" );
  32. system("sleep 0,1" );
  33. printf("    |   \n" );
  34. system("sleep 0,1" );
  35. printf("    |   \n" );
  36. system("sleep 0,1" );
  37. printf(" ___|___\n" );
  38. printf("\n\n" );
  39. }
  40. /*trois*/
  41. if(test==5){
  42. printf("\n\n     ______\n" );
  43. printf("    |  /\n" );
  44. system("sleep 0,1" );
  45. printf("    | / \n" );
  46. system("sleep 0,1" );
  47. printf("    |/   \n" );
  48. system("sleep 0,1" );
  49. printf("    |   \n" );
  50. system("sleep 0,1" );
  51. printf("    |   \n" );
  52. system("sleep 0,1" );
  53. printf(" ___|___\n" );
  54. printf("\n\n" );
  55. }
  56. /*quatre*/
  57. if(test==4){
  58. printf("\n\n     ______\n" );
  59. printf("    |  /   |\n" );
  60. system("sleep 0,1" );
  61. printf("    | / \n" );
  62. system("sleep 0,1" );
  63. printf("    |/   \n" );
  64. system("sleep 0,1" );
  65. printf("    |   \n" );
  66. system("sleep 0,1" );
  67. printf("    |   \n" );
  68. system("sleep 0,1" );
  69. printf(" ___|___\n" );
  70. printf("\n\n" );
  71. }
  72. /*cinq*/
  73. if(test==3){
  74. printf("\n\n     ______\n" );
  75. printf("    |  /   |\n" );
  76. system("sleep 0,1" );
  77. printf("    | /   (¨)\n" );
  78. system("sleep 0,1" );
  79. printf("    |/   \n" );
  80. system("sleep 0,1" );
  81. printf("    |   \n" );
  82. system("sleep 0,1" );
  83. printf("    |   \n" );
  84. system("sleep 0,1" );
  85. printf(" ___|___\n" );
  86. printf("\n\n" );
  87. }
  88. /*six*/
  89. if(test==2){
  90. printf("\n\n     ______\n" );
  91. printf("    |  /   |\n" );
  92. system("sleep 0,1" );
  93. printf("    | /   (¨)\n" );
  94. system("sleep 0,1" );
  95. printf("    |/     | \n" );
  96. system("sleep 0,1" );
  97. printf("    |      |\n" );
  98. system("sleep 0,1" );
  99. printf("    |   \n" );
  100. system("sleep 0,1" );
  101. printf(" ___|___\n" );
  102. printf("\n\n" );
  103. }
  104. /*sept*/
  105. if(test==1){
  106. printf("\n\n     ______\n" );
  107. printf("    |  /   |\n" );
  108. system("sleep 0,1" );
  109. printf("    | /   (¨)\n" );
  110. system("sleep 0,1" );
  111. printf("    |/    _|_\n" );
  112. system("sleep 0,1" );
  113. printf("    |      |\n" );
  114. system("sleep 0,1" );
  115. printf("    |   \n" );
  116. system("sleep 0,1" );
  117. printf(" ___|___\n" );
  118. printf("\n\n" );
  119. }
  120. /*huit*/
  121. if(test==0){
  122. printf("\n\n     ______\n" );
  123. printf("    |  /   |\n" );
  124. system("sleep 0,1" );
  125. printf("    | /   (¨)\n" );
  126. system("sleep 0,1" );
  127. printf("    |/    _|_\n" );
  128. system("sleep 0,1" );
  129. printf("    |      |\n" );
  130. system("sleep 0,1" );
  131. printf("    |     / \\ " );
  132. system("sleep 0,1" );
  133. printf("\n ___|___\n" );
  134. printf("\n\n" );
  135. }
  136. }
  137. int main(){
  138. char mot [100][2];
  139. int nb=0;
  140. int i;
  141. char lettre;
  142. int essai=9;
  143. int compteur=0;
  144. int trouve=1;
  145. system("clear" );
  146. printf("Saisir le mot à trouver :\n" );
  147. while(lettre != '\n'){
  148.  scanf("%c",&lettre);
  149.  mot[nb][0]=lettre;
  150.  if(lettre == ' '){
  151.   mot[nb][1]=' ';
  152.  }
  153.  else{
  154.   mot[nb][1]='-';
  155.  }
  156.  nb++;
  157. }
  158. mot[0][1] = mot[0][0];
  159. while((essai != 0)&&(trouve != nb)){
  160.  printf("\n\nProposez une lettre :  " );
  161.  scanf("%c",&lettre);
  162.  getchar();
  163.  compteur = 0;
  164.  trouve = 1;
  165.  for(i=1;i<nb-1;i++){
  166.   if(mot[i][0]==lettre){
  167.    mot[i][1]=mot[i][0];
  168.    compteur=compteur+1;
  169.   }
  170.  }
  171.  system("clear" );
  172.  if(compteur==0){
  173.   essai=essai-1;
  174.   printf("La lettre '%c' n'est pas dans le mot.\n",lettre);
  175.   printf("Il vous reste %d essais !\n",essai);
  176.  }
  177.  else{
  178.   printf("Bravo la lettre '%c' a été trouvé %d fois.\n",lettre,compteur);
  179.  }
  180.  dessin(essai);
  181.  printf("Le mot a trouvé est :  " );
  182.  for(i=0;i<nb-1;i++){
  183.   if(mot[i][1] != '-'){
  184.    trouve++;
  185.   }
  186.   printf("%c",mot[i][1]);
  187.  }
  188. }
  189. printf("\n\n" );
  190. if(essai==0){
  191.  printf("Tu as perdu !\n\n\n" );
  192. }
  193. else{printf("Bravo, tu as gagné !\n\n\n" );}
  194. }


Le code est un peu lourd mais j'ai voulu donner un impression de dessin avec les sleep, si vous avec une idée pour le racourcir je suis preneur.


Message édité par GrosPiF le 07-03-2005 à 16:45:59

---------------
[:grospif:9][:grospif:8][:grospif:7][:grospif:6]
n°4717362
Tetram
j'm'en foot...
Posté le 07-03-2005 à 17:27:03  profilanswer
 

GrosPif, tu sais qu'une instruction switch c'est plus joli a regarder que ta série de if ?
 
Et puis là j'ai un peu la flemme, mais y'a surement moyen de raccourcir ton code vu la redondance de code qu'on y trouve.
Mais si tu veux gagner de la place dans le code au detriment du temps d'execution (qui est dérisoire pour une série de printf), tu peux tout simplement faire un truc du genre :
 

Code :
  1. if (test==7)
  2. /* modifications liés a la condition test == 7 */
  3. dessin(8);


 
autre chose : il me semble que le \n agit comme un flush() sur un printf, donc tu peux "dessiner" ton pendu et faire un \n uniquement sur la derniere ligne.
 
mes derniers prog en C datent un peu... excusez moi si je me trompe...

n°4717369
GrosPiF
Quoi j'ai l'air fatigué ?
Posté le 07-03-2005 à 17:39:26  profilanswer
 

Ok mais à la rigeur j'ai du en faire que 6h depuis le début du semestre donc je suis exusable. :)


---------------
[:grospif:9][:grospif:8][:grospif:7][:grospif:6]
n°4717378
Tetram
j'm'en foot...
Posté le 07-03-2005 à 17:52:07  profilanswer
 

OK, dans ce cas je te montre a quoi ressemble ton code avec un switch, pour commencer :
 

Code :
  1. switch (test) {
  2.     case 0:
  3.         /* ton code ici*/;
  4.         break;
  5.     case 1:
  6.         /* ton code ici*/;
  7.         break;
  8.     case 2:
  9.         /* ton code ici*/;
  10.         break;
  11.     case 3:
  12.         /* ton code ici*/;
  13.         break;
  14. /* case 4, 5, 6 et 7... */
  15.     case 8:
  16.         /* ton code ici*/;
  17.         break;
  18.     default:
  19.         printf("désolé, je me suis fais caca dessus\n" );
  20.         break;
  21. }


 
l'avantage d'une instruction switch est de pouvoir mettre une condition d'echappement (default) qui est executé si jamais on y arrive, ce qui dans ton cas ne devrait pas arriver puisque tu sors avec un break bien placé.
 
Et l'idée que j'avais eut d'utiliser la meme fonction de manière recursive, n'est en fait pas si bonne, puisque tu modifie la meme ligne plusieurs fois en dessinant ton pendu...

n°4717384
Harkot
Be rebels, enjoy life!
Posté le 07-03-2005 à 17:58:44  profilanswer
 

sachant que si tu met pas break; ca réalise ce que tu as mis dans les cas suivants... donc tu peux t'en servir pour ne pas réécrire ce qui est redondant.
Par exemple met la base du pendu (dans ton code test==8; ie case 8) tout en bas, audessus (case 7) la barre verticale de la potence, sans la barre horizontale de base, et sans break. Le programme arrivant au cas 7 va réaliser le case 7 (barre verticale) et continuer sur le case 8 car il ne rencontre pas de break (et donc dessiner la barre horizontale). Bref ca t'évite quelques redondances... mais habitue toi à faire beaucoup de lignes en info ;)


---------------
"Le secret de la liberté, c'est la librairie." Bernard Werber
"Un livre est une fenêtre par laquelle on s'évade." Julien Green

n°4717402
Tetram
j'm'en foot...
Posté le 07-03-2005 à 18:33:40  profilanswer
 

ah oui, pas faut Harkot, mais bon, comme tu le voies, j'ai du m'y prendre a 2 fois pour essayer de faire un truc bien et c'est toujuours pas ca... moi & l'algo... :/

n°4717421
GrosPiF
Quoi j'ai l'air fatigué ?
Posté le 07-03-2005 à 19:08:37  profilanswer
 

ok je testerai à l'occasion.  
Sinon on peut poster du java ? J'ai un tri fusion qui marche pas  :fou:

n°4717423
X1Alpha'
Alfamaniak
Posté le 07-03-2005 à 19:11:34  profilanswer
 

Même si j'ai arreter IUT info  :sweat:  je propose mon aide a ceux qui ne pige rien en ADA et en Pascal. Une aide qui ne concerne que les bases :  
Iteration, boucle, declaration (tableau, record...), sous programme, package. Aprés je peu plus :relief:
C'est les bases mais si je peu aider :hello:


---------------
Envie de Customizer votre bureau ?
Envie de jouer à Dota ?
n°4717491
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 07-03-2005 à 20:05:29  profilanswer
 

a oui tient j'avais pas fait gaffe a la redeclaration a chaque fois de l'allocation de mon tableau dans ma boucle :pfff: vais voir ca et reessayer...
 
Et en fait mon tableau ** est un tableau de chaine de caractere ;)


---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4717534
jilbi
Holy En'Djinn !
Posté le 07-03-2005 à 20:56:59  profilanswer
 

euh , un tri fusion ? oula, ça fait un bail que je me fais plus chier à faire moi meme les methode de tri :D  
fais peter, je vais voir


---------------
The Machine is strong. We must purge the weak, hated flesh and replace it with the blessed purity of metal. Only through permanence can we truly triumph, only through the Machine can we find victory. Punish the flesh! Iron in mind and body! Hail the Machine!
-guide : zealmancer / drakulmancer  / avengemancer  / loi du talion  
[:jilbi][:jilbi:7][:jilbi:8][:jilbi:9]
n°4719556
GrosPiF
Quoi j'ai l'air fatigué ?
Posté le 10-03-2005 à 19:19:04  profilanswer
 

Demain, à cause (ou grace) de la grève j'ai pas pu aller en cours aujoud'hui.
 

n°4722890
Naz
Censurez moi.
Posté le 15-03-2005 à 21:49:35  profilanswer
 

Erf si j'avais vu ce topic avant, j'ai eu une interro de Pascal vendredi. Bon rien de difficile mais j'aurais ptet eu une question ou deux a poser Oo

n°4722943
Tetram
j'm'en foot...
Posté le 15-03-2005 à 22:26:27  profilanswer
 

Ca s'apprend encore le Pascal :??:

n°4722946
X1Alpha'
Alfamaniak
Posté le 15-03-2005 à 22:28:49  profilanswer
 

ouioui :D
C'est bien pour commencer. Moin bien que l'ADA mais ça doit couter moin cher :D


---------------
Envie de Customizer votre bureau ?
Envie de jouer à Dota ?
n°4722951
jilbi
Holy En'Djinn !
Posté le 15-03-2005 à 22:35:55  profilanswer
 

autant commencer par le C :/


---------------
The Machine is strong. We must purge the weak, hated flesh and replace it with the blessed purity of metal. Only through permanence can we truly triumph, only through the Machine can we find victory. Punish the flesh! Iron in mind and body! Hail the Machine!
-guide : zealmancer / drakulmancer  / avengemancer  / loi du talion  
[:jilbi][:jilbi:7][:jilbi:8][:jilbi:9]
n°4722979
Naz
Censurez moi.
Posté le 15-03-2005 à 23:10:26  profilanswer
 

oue ca s'apprend encore :/ et c'est bien emmerdant d'ailleurs ^^

n°4723083
pwazon
Posté le 16-03-2005 à 01:50:10  profilanswer
 

J'ai l'impression que c'est surtout dans les écoles d'ingénieurs qu'on apprend le Pascal.
Dans les autres formations, on s'attarde plus sur le C ou Visual Basic, mais c'est juste une impression :p


---------------
[:aaltar:6] Nyam | [:aaltar:8] Callaloo
n°4723126
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 16-03-2005 à 06:58:28  profilanswer
 

pwazon a écrit :

J'ai l'impression que c'est surtout dans les écoles d'ingénieurs qu'on apprend le Pascal.
Dans les autres formations, on s'attarde plus sur le C ou Visual Basic, mais c'est juste une impression :p


 
Ca depend des ecoles alors car chez nous, on ne touche pas au pascal :D


---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4723207
Naz
Censurez moi.
Posté le 16-03-2005 à 12:30:00  profilanswer
 

Bah nous juste en premiere annee ^^ L'an prochain on fait du java, apres ca depend du departement qu'on prend :ack:

n°4723209
GrosPiF
Quoi j'ai l'air fatigué ?
Posté le 16-03-2005 à 12:30:22  profilanswer
 

C pour le systeme, mais pour les application c'est que du java .


---------------
[:grospif:9][:grospif:8][:grospif:7][:grospif:6]
n°4723211
Lord Kellm​ar
Einheri
Posté le 16-03-2005 à 12:32:43  profilanswer
 

Perso, en école d'ingé, on ne voit pas un poil de Pascal (remplacé plutot par son évolution, Delphi - a la fois un language et le compilo, je crois. Je n'en ai pas fait :ack: )
On vois l'Eiffel - Vachement clean, propre, génial pour débuter, puis les classiques...C/C++, Java, VHDL...

n°4723219
Naz
Censurez moi.
Posté le 16-03-2005 à 13:02:09  profilanswer
 

Bah moi je suis en 1ere annee ds une prepa integree, c'est ptet pas le cursus normal d'une prepa :ack:

n°4723279
Tetram
j'm'en foot...
Posté le 16-03-2005 à 14:44:51  profilanswer
 

pwazon a écrit :

J'ai l'impression que c'est surtout dans les écoles d'ingénieurs qu'on apprend le Pascal.
Dans les autres formations, on s'attarde plus sur le C ou Visual Basic, mais c'est juste une impression :p


Pas dans mon école non plus. L'année dernière (en 1ère année d'ingé) on a fait du C, du java et on a fini sur du C++.
Cette année, les 1ère années sont arrivés, et ils ont été gavés avec du C++ dès leur arrivée, en 2 semaines, il avaient codés un bomberman... y'a du progrès dans l'éducation on dirait :D

n°4723290
playlist
Membre de Mystical Rainbow
Posté le 16-03-2005 à 15:11:47  profilanswer
 

En ecole d'ingenieur on apprend d'abord le C et le java je pense ;)
 
Le reste VB, base de donnees et HTML arrivent ensuite. Le Pascal fortran c'est d'une autre epoque en ce qui concerne leur enseignement :(


---------------
Sukamass :what:
"One hand. One million dollars. No Tear.", Liar's Poker de Michael Lewis.
Need principal en ladder oO
n°4723300
darathor
Mage vampire
Posté le 16-03-2005 à 15:25:39  profilanswer
 

Alors qu'à la fac on a encore des prof d'une autre époque, donc... :D
 
/me se serait bien passé de l'inutile CAML...

n°4723302
jilbi
Holy En'Djinn !
Posté le 16-03-2005 à 15:27:58  profilanswer
 

Darathor a écrit :


/me se serait bien passé de l'inutile CAML...


 
roflol, toi aussi t'en a bouffé ? tu serais pas à la fac de valenciennes par hasard ?


---------------
The Machine is strong. We must purge the weak, hated flesh and replace it with the blessed purity of metal. Only through permanence can we truly triumph, only through the Machine can we find victory. Punish the flesh! Iron in mind and body! Hail the Machine!
-guide : zealmancer / drakulmancer  / avengemancer  / loi du talion  
[:jilbi][:jilbi:7][:jilbi:8][:jilbi:9]
n°4723303
darathor
Mage vampire
Posté le 16-03-2005 à 15:29:32  profilanswer
 

Non, la fac de Strasbourg :p
 
C'est de la triche, dans la promo de cette année, y en a un qui venait de Nancy, il avait jamais fait de CAML ni de prolog :( (bon, cela dit, le prolog, c'était plus intéressant en soi que que CAML... Puis on n'en a fait qu'un seul module...)


Message édité par darathor le 16-03-2005 à 15:30:27
n°4723304
jilbi
Holy En'Djinn !
Posté le 16-03-2005 à 15:33:19  profilanswer
 

ouais, le prolog ça permet de faire des petits exos sympa. Du style, celui avec les vampir sain d'esprit/fou et les humain ( variante : les martien nordiste verts ou rouge :p )  
si ça te dit quelque chose ...


---------------
The Machine is strong. We must purge the weak, hated flesh and replace it with the blessed purity of metal. Only through permanence can we truly triumph, only through the Machine can we find victory. Punish the flesh! Iron in mind and body! Hail the Machine!
-guide : zealmancer / drakulmancer  / avengemancer  / loi du talion  
[:jilbi][:jilbi:7][:jilbi:8][:jilbi:9]
n°4723326
Tetram
j'm'en foot...
Posté le 16-03-2005 à 16:19:00  profilanswer
 

Je suis étonné que vous aiyiez utilisez du CAML pour faire du code... c'est plus un langage pour creer des interpréteurs.
Moi j'en avais en cours que pour creer des compilateurs... et je crois bien que c'est pour ca qu'il a été crée a la base d'ailleurs...

n°4723329
jilbi
Holy En'Djinn !
Posté le 16-03-2005 à 16:33:48  profilanswer
 

ben oui, c'est un language fonctionel
m'enfin, pour gerer des listes où des truc un peu complexes, c'est bien foutu, mais bon, ça s'arrete là


---------------
The Machine is strong. We must purge the weak, hated flesh and replace it with the blessed purity of metal. Only through permanence can we truly triumph, only through the Machine can we find victory. Punish the flesh! Iron in mind and body! Hail the Machine!
-guide : zealmancer / drakulmancer  / avengemancer  / loi du talion  
[:jilbi][:jilbi:7][:jilbi:8][:jilbi:9]
n°4724666
GrosPiF
Quoi j'ai l'air fatigué ?
Posté le 18-03-2005 à 12:41:38  profilanswer
 

La classe :
 

Code :
  1. public class TriFusion{
  2. private int [] T;
  3. private int taille;
  4. public TriFusion(int nb){
  5.  T = new int [nb];
  6.  taille = nb;
  7.  for(int i=0;i<taille;i++){
  8.   T[i] = (int)(Math.random()*1000);
  9.  }
  10. }
  11. public void Tri(int debut, int fin){
  12.  int milieu;
  13.  if(debut>fin){
  14.   milieu = (debut + fin)/2;
  15.   Tri(debut,milieu);
  16.   Tri(milieu+1,fin);
  17.   interclassement(debut,fin);
  18.  }
  19. }
  20. public void interclassement(int deb, int fin){
  21.  int [] tabaux = new int [fin+1];
  22.  int i = deb;
  23.  int j = ((deb+fin)/2)+1;
  24.  int k;
  25.  for(k=0;k<=fin;k++){
  26.   tabaux[k] = T[k];
  27.  }
  28.  for(k=0;k<=fin;k++){
  29.   if((j>fin) || ((i<=((deb+fin)/2)) && (T[i]<T[j]))){
  30.    T[k] = tabaux[i];
  31.    i++;
  32.   }
  33.   else{
  34.    T[k] = tabaux[j];
  35.    j++;
  36.   }
  37.  }
  38.  /*for(k=0;k<fin;k++){
  39.    
  40.   T[k] = tabaux[k];
  41.  }*/
  42. }
  43. public void affichage(){
  44.  for(int i=0;i<taille;i++){
  45.   System.out.print(T[i]+"   " );
  46.  }
  47. }
  48. }


 
le test :

Code :
  1. import iut.algo.*;
  2. class TestFusion{
  3. public static void main(String [] args){
  4.  TriFusion T;
  5.  int nb;
  6.  System.out.println("Combien d'éléments dans le tableau ? " );
  7.  nb = Clavier.lire_int();
  8.  T = new TriFusion(nb);
  9.  System.out.println("Tableau avant tri :" );
  10.  T.affichage();
  11.  T.interclassement(0,nb-1);
  12.  //T.Tri(0,nb-1);
  13.  System.out.println();
  14.  System.out.println("Tableau après tri :" );
  15.  T.affichage();
  16.  System.out.println();
  17. }
  18. }


 


---------------
[:grospif:9][:grospif:8][:grospif:7][:grospif:6]
n°4724694
Harkot
Be rebels, enjoy life!
Posté le 18-03-2005 à 13:29:55  profilanswer
 

Si tu nous disais ce qui ne fonctionne pas ca aiderai quand même, parce que bon je veux bien aider, mais passer 3 heures sur le programme "papier" pour voir déjà quel est le problème, avant d'envisager des solutions, bah ca me passionne pas.
 
Donc en clair je veux savoir :
- Un "tri fusion" c'est sensé faire quoi? trier dans l'ordre croissant, décroissant, pairs/impaires, whatever...?  
- Tu dis que ca ne fonctionne pas, mais c'est un plantage ou c'est juste qu'au final le tableau est mal trié?

n°4724698
GrosPiF
Quoi j'ai l'air fatigué ?
Posté le 18-03-2005 à 13:34:14  profilanswer
 

Tri dans l'odre croissant, tableau mal trié et je pense que ca vient d'interclassement et  peut etre de la méthode tri aussi.


---------------
[:grospif:9][:grospif:8][:grospif:7][:grospif:6]
 Page :  1  2  3
Page Précédente 

Aller à :
Ajouter une réponse