Ptit exercice de programmation C++...:

Ptit exercice de programmation C++...: - Programmation

Marsh Posté le 09-10-2001 à 12:30:54    

KK1 peut me dire ce que fais c 2 programmes (avt de le compiler si possible): merci...
 
#include <conio.h>
#include <iostream.h>
 
int add(int* tableau,int taille);
 
int main()
{
 int tab[5]={5,4,2,6};
 cout<<"Tableau de départ: ";
 for(int i=0;i<5;i+=1)
  cout<<tab[i]<<" ";
 add(tab,5);
 cout<<"\n"<<"Tableau d'arrivé: ";
 for(int i=0;i<5;i+=1)
  cout<<tab[i]<<" ";
 getch();
 return 0;
}
int add(int* s,int t)
{
 int i=1;
 int j=*s;
  while(i<t-1)
  {
  j+=*(s+i);
  i++;
  }
 *(s+t-1)=j;
 return *(s+t-1)
}
 
----------------------------------------------------------------
 
et celui-là:  
#include <conio.h>
#include <iostream.h>
 
int add(int* tableau,int taille);
 
int main()
{
 int tab[5]={5,4,2,6};
 cout<<"Tableau de départ: ";
 for(int i=0;i<5;i+=1)
  cout<<tab[i]<<" ";
 add(tab,5);
 cout<<"\n"<<"Tableau d'arrivé: ";
 for(int i=0;i<5;i+=1)
  cout<<tab[i]<<" ";
 getch();
 return 0;
}
int add(int* s,int t)
{
 int i=1;
 int j=s[0];
  while(i<t-1)
  {
  j+=s[i];
  i++;
  }
 s[t-1]=j;
 return s[t-1]
}

 

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


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Marsh Posté le 09-10-2001 à 12:30:54   

Reply

Marsh Posté le 09-10-2001 à 12:34:31    

Parce que il n'a pas l'air clair pour tout le monde (ds mon entourage)...et c sûr qu'il marche je l'ai compilé et ca fait bien ce que je veux


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Marsh Posté le 09-10-2001 à 12:40:14    

ben ça calcule la somme de tous les éléments du tableau et ça met le résultat dans la dernière case ... et les deux sont identiques. prkwa ? :D

Reply

Marsh Posté le 09-10-2001 à 12:42:06    

ca me rassure je l'ai montré a plusieurs gars (IUT Info) et un seul à trouver ce que ca faisait, je croyais que mon code é t merdique du coup  :lol:


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
Reply

Marsh Posté le 09-10-2001 à 12:44:06    

faut dire que ce genre de trucs  
  *(s+t-1)=j;  
font penser que tu as fait de l'asm. c'est plus compréhensible d'écrire ça sous forme de tableau comme dans le deuxième.

Reply

Marsh Posté le 09-10-2001 à 15:05:19    

Giz a écrit a écrit :

je croyais que mon code é t merdique du coup  :lol:



Je dirais contorsionné et difficile à lire.
 
Je propose ces façons de faire:

Code :
  1. //par tableau+total local
  2. int TotaliserTab1(int Tab[] , int Dim)
  3. {
  4.   int Somme = 0;
  5.   for(int i=0 ; i<Dim-1 ; i++)
  6.     Somme += Tab[i] ;
  7.   Tab[Dim-1] = Somme ;
  8.   return Tab[Dim-1] ;
  9. }
  10. //par Tableau+total direct
  11. int TotaliserTab2(int Tab[] , int Dim)
  12. {
  13.   Tab[Dim-1] = 0 ;
  14.   for(int i=0 ; i<Dim-1 ; i++)
  15.     Tab[Dim-1] += Tab[i] ;
  16.   return Tab[Dim-1] ;
  17. }
  18. //par pointeur+total direct
  19. int TotaliserTab3(int* ptr , int Dim)
  20. {
  21.   int* pSomme = ptr+Dim-1;
  22.   *pSomme = 0;
  23.   for( ; ptr<pSomme ; ptr++)
  24.     *pSomme += *ptr ;
  25.   return *pSomme ;
  26. }


---------------
Pourquoi les cartes mères ont-elles des noms à coucher dehors ?
Reply

Marsh Posté le 09-10-2001 à 18:30:59    

c plus comprehensible mais ya encore un chtit qq chose...
je chipote :D

Reply

Marsh Posté le 11-10-2001 à 13:33:12    

TheJackal a écrit a écrit :

je chipote :D


Tu chipotes si tu veux, mais explique-toi !
 
A part dans TotaliserTab1 où j'aurais dû mettre

Code :
  1. return Somme ;


ou éventuellement

Code :
  1. return Tab[Dim-1]= Somme ; ;


je vois pas.

 

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


---------------
Pourquoi les cartes mères ont-elles des noms à coucher dehors ?
Reply

Marsh Posté le 11-10-2001 à 17:54:11    

ben tu metrai en anglais ca ferai mieux ;)

Reply

Marsh Posté le 12-10-2001 à 09:44:52    

Oh yes, of course, you are right !
I really should have, as it is the international language, especially for programming.
But on the other hand I noticed the "fr" extension in the address, and it seems most people use French here.
You have troubled my mind, I don't know witch is best now !


---------------
Pourquoi les cartes mères ont-elles des noms à coucher dehors ?
Reply

Marsh Posté le 12-10-2001 à 09:44:52   

Reply

Marsh Posté le 12-10-2001 à 14:40:08    

I think most of people here speak French but program in English
 :p  :D

Reply

Marsh Posté le 12-10-2001 à 15:06:20    

Pendant qu'on y est:
 
Quelqu'un ici pratique t'il la conception de programmes façilement "localisables" ?


---------------
Pourquoi les cartes mères ont-elles des noms à coucher dehors ?
Reply

Marsh Posté le 16-10-2001 à 11:15:55    

ouais les deux progs y sont pas trop clairs essaye de faire des progs un peu plus structurés et tu verras meme les gars en IUT y comprendront ;)

Reply

Marsh Posté le 16-10-2001 à 19:35:46    

j'aime bien le "meme les gars en IUT y comprendront" :lol:

Reply

Marsh Posté le 17-10-2001 à 08:43:56    

tu les a selectionné tes potes ou c'est des gars de premiere année ? :??:


---------------
mousa a dit : "quand ton pc est mort c'est pour la vie..." enfin un truc comme ça quoi
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed