Comment realiser une bistro

Comment realiser une bistro - Programmation

Marsh Posté le 25-10-2001 à 17:33:07    

Salut g pour dans pas longtemps une bistro a rendre . C a dire une calculatrice qui opere sur les chaines de caracteres puisque elle doit gerer les nombres infinies. Le language utilise est le C . Merci de m aider

Reply

Marsh Posté le 25-10-2001 à 17:33:07   

Reply

Marsh Posté le 26-10-2001 à 13:40:42    

man bistro
:lol: :lol:

Reply

Marsh Posté le 26-10-2001 à 14:49:33    

lol ..
alalla ces épitoyables :D
 
ça doit etre le bonheur d'etre corrigé par un script quand meme :)
 
epita : 50%hommes 50% machine 100% sodomisés :D

Reply

Marsh Posté le 26-10-2001 à 14:55:23    

Kouye a écrit a écrit :

lol ..
alalla ces épitoyables :D
 
ça doit etre le bonheur d'etre corrigé par un script quand meme :)
 
epita : 50%hommes 50% machine 100% sodomisés :D  




 
Pourkoi associer la bistromathique a Epita?
ca viens d'un livre... :D
et en plus si il est d'epita il est vachement a la bourre...
EPITECH Powa!!  
 
Inconnu42 => héhé tu te demerde! ttes facons t'auras 0! Mais comme on dit, l'important est de participer! :)

 

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


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 26-10-2001 à 14:57:41    

oui enfin le pseudo avec le 42 a la fin .. c un peu gros  :sol:  
et puis le livre c'est al bible de l'épita !!  
(mais l'épita n'est surement pas l'église de cette bible  :sarcastic: )

Reply

Marsh Posté le 26-10-2001 à 18:06:04    

les nombres de longueur infinie, .... ça me laisse reveur. Bon on a compris, mais utilise le terme "grand nombre" c'est mieux ou alors faut revoir la physique et en passant un peu de thermo  ou carrement construire l'ordinateur a capacité infini ;)

Reply

Marsh Posté le 26-10-2001 à 18:54:31    

barbarella a écrit a écrit :

les nombres de longueur infinie, .... ça me laisse reveur. Bon on a compris, mais utilise le terme "grand nombre" c'est mieux ou alors faut revoir la physique et en passant un peu de thermo  ou carrement construire l'ordinateur a capacité infini ;)  




 
ben oui évidemment! :)
et pour l'ordinateur... il existe!
d'ailleurs c cet ordinateur qui a calculé la question de l'ultime reponse...42:)


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 27-10-2001 à 00:39:42    

Je suis en TEK 1 et g ma bistro a rendre pour dans 3 semaines/1 mois  
Alors vous avez toujours le temps de me donner 2 ,3 conseils .
Comme par exemple comment faire pour additioner 2 grands entier,les diviser etc ...

Reply

Marsh Posté le 27-10-2001 à 00:41:54    

Ben tu fais comme tu le ferais avec tes petits neurones, un papier et un crayon.

Reply

Marsh Posté le 27-10-2001 à 00:50:16    

je demande juste un peu d aide je sais meme pas par ou commencer.

Reply

Marsh Posté le 27-10-2001 à 00:50:16   

Reply

Marsh Posté le 27-10-2001 à 00:56:22    

T'as vraiment aucune idée  :??:  
Qu'est ce que tu fous dans une école d'info alors ?

Reply

Marsh Posté le 27-10-2001 à 00:58:33    

c pas que g pas d idee c que moi les maths c pa trop mon truc surtout que je decouvre d autres bases que la base 10, donc c forcement pas facile de trouver des solutions

Reply

Marsh Posté le 27-10-2001 à 01:05:57    

Ben une solution (pas forcément très performante en vitesse et en utilisation de la RAM) est de coder tes nombres comme des chaînes de caractères.
Puis pour l'addition, tu parcours les 2 chaines, t'additionnes chiffre par chiffre en propageant la retenue et en mettant le résultat dans une nouvelle chaîne.
 
Et pour la multiplication, tu fais comme en école primaire, avec des additions en décalant les chaînes:

Code :
  1. "853"
  2. x  "123"
  3. --------
  4.     "853"
  5. +  "853"
  6. +  "853"
  7. + "853"
  8. + "853"
  9. +"853"


 
Evidemment on peut faire bcp mieux.

 

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

Reply

Marsh Posté le 27-10-2001 à 01:07:47    

merci de ton aide c deja un debut mais est ce que la note depend enormement de la vitesse

Reply

Marsh Posté le 27-10-2001 à 01:10:39    

INCONNU42 a écrit a écrit :

merci de ton aide c deja un debut mais est ce que la note depend enormement de la vitesse  




Oui mais pour optimiser une solution, il faut au moins en avoir une :D

Reply

Marsh Posté le 27-10-2001 à 02:37:03    

INCONNU42 a écrit a écrit :

merci de ton aide c deja un debut mais est ce que la note depend enormement de la vitesse  




 
lol! t'as note c 0... on parie?
verdoux a bon... tes nombres sont des chaines de caracteres...
pour l'addition et la soustraction c simple, la multiplication aussi (serie d'addition en fait..) mais par contre la div!! :lol:  ... et ya le parser aussi.... halala!  
 
sinon tu decortique les operations comme tu faisais en cp...
genre:
42
+
 9
--
je fais 9+2=11; 11 > nb_de_chiffre_de_la_base (ici 10) donc retenue. j'ecris 1 ds le resultat
puis je fais 4 + ma retenue = 5 < 10 donc pas de retenue , j'ecris 5, chaine de caractere au debut donc fini...
resultat 51... c dur hein? (oui je sais c pas evident apres 1 mois de piscine :) )
 
donc en resume:
 j'ai str1 et str2
 je fais pour les deux, un rev_str (42 deviens 24 etc...)
 et je parcoure mes 2 chaines en meme tps en additionnant les nombres et en y ajoutant une retenue eventuelle...
 
pour les bases, c pareil...suffit de bien comprendre le get_position_in_base...
 
vali valo..c tout le reste tu te debrouille :)


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 27-10-2001 à 03:26:18    

Quand J'etais en Tek1 ya que 1 groupe qui a pas eu 0 ...
 
Sur ce ben bonne chance.
 
 
Et pis t'inkiet pas ya marvin pour te rattraper.
 
Marvin Rulez!!!!!!!    :) :) :) :)

Reply

Marsh Posté le 27-10-2001 à 11:17:23    

Y'a à peu près un an il y avait eu un sujet similaire sur ce forum, un gars du nom de BifaceMcLeod avait donné un commencement de solution, fais un recherche pour voir si le topic existe toujours


---------------
- "Qui diable es-tu ?"
Reply

Marsh Posté le 27-10-2001 à 12:51:49    

zop a écrit a écrit :

Y'a à peu près un an il y avait eu un sujet similaire sur ce forum, un gars du nom de BifaceMcLeod avait donné un commencement de solution, fais un recherche pour voir si le topic existe toujours  




ben toute les annees on va l'avoir ce topic!!


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 27-10-2001 à 12:54:12    

kwiky a écrit a écrit :

Quand J'etais en Tek1 ya que 1 groupe qui a pas eu 0 ...




 
t en tek2?


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 27-10-2001 à 13:48:49    

suri a écrit a écrit :

 
 
t en tek2?  




 
Nope Tek3

Reply

Marsh Posté le 27-10-2001 à 18:37:43    

Vous aviez du mal vous aussi en piscine?

Reply

Marsh Posté le 27-10-2001 à 18:41:31    

INCONNU42 a écrit a écrit :

Vous aviez du mal vous aussi en piscine?  




ben perso...oui :)
j'avais jamais fait une ligne de code...
et je dois dire que je me suis accroché et je m'en sort plutot bien maintenant...


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 27-10-2001 à 18:42:01    

INCONNU42 a écrit a écrit :

Vous aviez du mal vous aussi en piscine?  




 
Euh ben la piscine, qd t'a jamais code avant c cho.. mais vers la fin ca semblait commencer a venir... mais bon ca c casse la geule pour la bistro et le corewar.  :cry:  
C pas pour ca que chuis pas passe a l'annee suivante...(question de solvabilite dirons nous, y sont gentils a l'adm  :gun: )

Reply

Marsh Posté le 27-10-2001 à 18:43:34    

Kwiky a écrit a écrit :

 
 
Euh ben la piscine, qd t'a jamais code avant c cho.. mais vers la fin ca semblait commencer a venir... mais bon ca c casse la geule pour la bistro et le corewar.  :cry:  
C pas pour ca que chuis pas passe a l'annee suivante...(question de solvabilite dirons nous, y sont gentils a l'adm  :gun: )  




 
roo bistro et corewar ca compte pas!...c marvin et le dernier  
resto qui comptent :)
 
puis bien sur...RT et shell mais ca c une autre histoire!!

 

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


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 27-10-2001 à 22:52:28    

HéHé.... C'est pas dur la piscine. Il suffit de pas couler au début.:sol:
 
En parlant RT.... Je recherche des personnes sérieuse d'Epitech pour faire un raytracer. Mais pas un truc de PD (comme celui de 1ere année :D ), je parle de quelque chose de très complet du genre Pov'ray.
Avis aux amateurs...


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
Reply

Marsh Posté le 28-10-2001 à 02:14:16    

suri a écrit a écrit :

 
roo bistro et corewar ca compte pas!...c marvin et le dernier  
resto qui comptent :)




 
Paske t'a fais le dernier resto??  :hap:  
ou t'a juste eu les points pour avoir compris le sujet??  :crazy:

Reply

Marsh Posté le 28-10-2001 à 11:01:34    

kwiky a écrit a écrit :

 
 
Paske t'a fais le dernier resto??  :hap:  
ou t'a juste eu les points pour avoir compris le sujet??  :crazy:  




 
ben 1 au corewar alors...
0 a la bistro alors..
 
10 au marvin
16 au resto... (un des seul groupe a l'avoir fait aussi :) )


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 28-10-2001 à 11:01:59    

MrTonio a écrit a écrit :

HéHé.... C'est pas dur la piscine. Il suffit de pas couler au début.:sol:
 
En parlant RT.... Je recherche des personnes sérieuse d'Epitech pour faire un raytracer. Mais pas un truc de PD (comme celui de 1ere année :D ), je parle de quelque chose de très complet du genre Pov'ray.
Avis aux amateurs...  




 
je trouve pas que les RT de tek1 etait de la merde...enfin pas tous...


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 28-10-2001 à 18:43:33    

suri a écrit a écrit :

 
 
je trouve pas que les RT de tek1 etait de la merde...enfin pas tous...  




 
C'est sûr pour des 1ere année, il n'y a rien à dire. C'est vraiment du bon boulot. Mai faut tout de même avouer que ce n'etait pas du tout complet.


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
Reply

Marsh Posté le 28-10-2001 à 20:04:25    

MrTonio a écrit a écrit :

 
 
C'est sûr pour des 1ere année, il n'y a rien à dire. C'est vraiment du bon boulot. Mai faut tout de même avouer que ce n'etait pas du tout complet.  




 
ben ouais enfin yavait pas que ca a faire non plus quoi... il fallait bien attaquer le shell...


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 28-10-2001 à 22:26:35    

t en koi mrtonio?


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 28-10-2001 à 22:30:11    

aidez moi pour la bistro au lieu de discuter entre vous

Reply

Marsh Posté le 28-10-2001 à 23:11:01    

Tu devrais commencer par te concentrer sur l'addition, et à te poser les bonnes questions :
 
1 - Additionner des nombres, comment ça marche : bah on additionne ensemble les chiffres de même ordre et si besoin on mémorise une retenue pour l'ordre suivant. Pour faire 147 + 12, tu commences par additionner 7+2=9, puis tu fais 4+1=5, 1+0=1 d'où 147+12=159.
 
2 - Les nombres sont des chaînes de caractères : donc chaque caractère est un "chiffre" du nombre. Pour lire un caractère donné d'une chaîne de caractère, on écrit quelque chose comme "chaine[i]".
 
3 - Le problème d'une chaîne de caractère, c'est qu'on la lit de gauche à droite, alors que lorsqu'on fait une addition, on raisonne de droite à gauche. Solution : stocker les chiffres à l'envers dans la chaine de caractère.
 
4 - Le problème est transposé de la façon suivante : 147+12 devient  "741" + "21". On additionne les "chiffres" de rang 0 (les unités) : 7+2=9. On additionne les "chiffres" de rang 1 (dizaines) : 4+1=5. Puis les "chiffres" de rang 2 (centaines) : 0+1=1. La chaîne de caractère qui contient le résultat est "951", mais comme on sait que les chiffres sont stockés à l'envers, cela donne le résultat 159.
 
5 - Attention à la confusion entre le "chiffre" et son code ascii. Quand tu écris "1" dans une chaîne de caractère, tu stockes en réalité la valeur 49. Pour additionner deux "chiffres" de rang i, il faut donc faire une petite translation :
resultat[i] = (nombre1[i]-'0';) + (nombre2[i]-'0';) ;
 
Voilà déjà de quoi méditer un peu !

Reply

Marsh Posté le 29-10-2001 à 00:00:15    

Fork a écrit a écrit :





ya pas a dire tu explique mieux que moi :)
enfin bon...si c comme l'an dernier, yaura une soiree d'aide pour faire l'addition

 

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


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 29-10-2001 à 00:11:39    

n'oublie pas la retenue ;) .
 
retenu <- 0;
i <- 0;
tant que i < rang_max faire
{
  tmp <- (nombreA[i]-'0' + nombreB[i]-'0' + retenu);
  si tmp >= 10;
  retenu = tmp/10;
  resulta[i] <- (tmp - retenu * 10);
}

Reply

Marsh Posté le 29-10-2001 à 01:24:45    

Pour la multiplication cherche un peu...
 
piste: Réalise une fonction qui multiplie une Grand nombre par un chiffre... puis fait des adition.
 
NB: Réfléchis à la méthode utiliser pour représenter un grand nombre... tableaux de char -> 8 bits par chiffre or tu n'as besoin que de 5 bits pour représenter les chiffre de 1 à 9 donc tu a 8-5=3 bits de perdu par chiffre tu pense que ce n'est rien? 3bits sur 8 ça fait qd même 37.5% de perdut... pour calculer les milliards de milliards...de milliard de chiffre de pi ça peut être utile...

Reply

Marsh Posté le 29-10-2001 à 12:18:22    

sombresonge a écrit a écrit :

Pour la multiplication cherche un peu...
 
NB: Réfléchis à la méthode utiliser pour représenter un grand nombre... tableaux de char -> 8 bits par chiffre or tu n'as besoin que de 5 bits pour représenter les chiffre de 1 à 9 donc tu a 8-5=3 bits de perdu par chiffre tu pense que ce n'est rien? 3bits sur 8 ça fait qd même 37.5% de perdut... pour calculer les milliards de milliards...de milliard de chiffre de pi ça peut être utile...  




 
La bistromatique est un prog de calcul sur des entiers virtuellement infinis, dans des bases quelconques pouvant aller jusqu'a 255 caracteres... donc toute la table ascii étendue.
ce qui implique qu'il faut obligatoirement 8bits(char) pour stocker les nombres.
 
:jap:  Voila tout ce que je peux dire. :jap:

Reply

Marsh Posté le 29-10-2001 à 15:59:34    

Faut lui donner la solution non plus !!!!
Le but est de ce creuser la tete et d'avoir 0 :D
 
suri => Je suis en Tek2


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
Reply

Marsh Posté le 29-10-2001 à 18:06:58    

convertir les nombres en binaire ;  
ne retenir que les rangs des 1 ;
par exemple 59 = 2^5 + 2^4 + 2^3 + 2 + 1
d'où 59 = (5;4;3;1;0)
définir en suite les règles de calcul  
par exemple (n) + (n) = (n+1)
etc..

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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