begin process at 2012 02 11 17:49:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Soustraction de deux entier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Soustraction de deux entier

samedi 31 janvier 2009 à 19:44:07 | Soustraction de deux entier

amine1234Z

Salut
j'ai un entier comme ca

int *entier1=new int[2];  11111111 222222222
int*entier2=new int[3];  11111111 222222222 111111111
lors d'une soustraction
for(int i=2;i<=0;i--)
entier2[i+1]=entier2[i+1]-entier1[i];

la resultat est
11111111 11111111 -111111111
je veux que le moin desparu
j'ai esayé unsigned mais ca na pas marché
si quelsun a une idée
MErci


% Mauvais Sens %
dimanche 1 février 2009 à 11:53:25 | Re : Soustraction de deux entier

uaip

Réponse acceptée !
Salut,
Déjà, je doute que ta boucle fonctionne : for(int i=2;i<=0;i--)
Déclarée comme ça, aucune passage dans cette boucle ne sera effectué (mais on va supposer que c'est une erreur de frappe).
Sinon l'algo de ta soustraction est assez naze, car faux :
- 1er passage dans la boucle, tu calcules entier2[3], or il n'y a que 3 cases (la dernière étant donc entier2[2] puisque la numérotation commence à 0)
- 1er passage toujours, tu calcules entier1[2], or il n'y a  que 2 cases (la dernière étant donc entier1[1] puisque la numérotation commence à 0)

Ce problème explique donc ton signe négatif :
on a (en imaginant >= au lieu de <= dans la boucle) :
11111111 222222222 <inconnu>
11111111 222222222 111111111 <inconnu>
- 1er passage : <inconnu> - <inconnu> = <inconnu> -> se range dans la case <inconnu> -> inutile
- 2eme passage : 111111111 - 222222222 = -111111111 -> se range dans la dernière case de entier2[]
- 3eme passage :
222222222 - 111111111 = 111111111 -> se range dans la deuxième case de entier2[]
fin de la boucle
la première case de entier2[] n'ayant pas été modifiée, elle garde sa valeur
11111111.
On obtiens donc pour entier2[] :
11111111 11111111 -11111111

Ton algo est donc à refaire. Mais je ne vais pas te donner la réponse. Déjà que tout ce que je t'ai dit là, c'était à toi de le faire (un programmeur est censé être capable de suivre l'évolution de ses variables au cours du programme, on apprend ça avant même d'apprendre à programmer)

Sinon, tu t'es trompé de rubrique : ton code est en C++, or on est dans la rubrique C

Cordialement, uaip.
lundi 2 février 2009 à 00:05:36 | Re : Soustraction de deux entier

amine1234Z

salut
et merci pour la réponse, ta raison dans ce que tu vien de dire
merci encore je vais revoir mon algo,
une chose c'est que j'ai pas copier tous le code j'ai juste esayé de vous expliquer
mon sousi,
concrenant les variable et >=, c'est un autre delire la dans,
si possible je veux tous dabord resoudre le probleme de signe, aprés je passe a l'optimisation et la validation de mon algo
MErci encore

% Mauvais Sens %


Cette discussion est classée dans : int, entier, soustraction, entier1, entier2


Répondre à ce message

Sujets en rapport avec ce message

convertion char* en int [ par sampq ] Je recupere à partir d'une requete sql un char* que je veux utiliser par la suite dans une boucle for de mon programme, mais la il faudrait que ça soi demande de lire un entier (int) c++ [ par simosif ] bonjour, dans un programme c++, je veux obliger l'utilisateur à entrer un entier.tant que il n'a pas entrer un entier, on lui affiche un message et n tableau d'entier. [ par gdpasmini ] Hello !j'ai un petit soucis avec une fonction qui renvoi un tableau en parametre... voila les details :Dans mes fonctions : int * boutonDecodFlux(void Conversion Float -> Int [ par DroledeBx ] Bonjour,J'ai un problème de conversion entre un float et un entier.Je récupère dans un fichier, sous le type float, une valeur décimale, trois chiffre classe en c++ [ par katdeath ] bonsoir , je dois faire un exercice qui est le suivant : ecrivez une classe pile_entier permettant de gérer une pile d'entiers conservés dans un table somme des diviseurs propres d'entier amis. [ par hazertyck ] Bonjour, je suis etudiant en première année d'informatique à la fac. J'ai ici un exercice de tp en C dont l'énoncé est le suivant et où mon code est b conversion string -> entier [ par Sat83 ] Bonjour!J'ai un petit probleme, je debute en C++...J'aimerais savoir comment passer d'une chaine qui contient un entier a un entierje m'explique par e inserer un entier dans un tableau de int [ par clcat ] salut la compagnie j ai un ptit probleme(visual C++)j ai un tableau de string :   string TAB[10];et j ai un entier, p=3 par exemple la valeur de p n'e besoin d'aide c tres urgent [ par safiot80 ] les amis je viens juste de commencer la programmation sous c++ et je veux un peu d'aide svp j'ai une urgence un exo dont j'ai rien compris si qlq peu déclaration d'un pointeur sur un entier [ par iam_myst ] bonjour à tous j'aimerais savoir s'il est possbile de faire ceci:      int *tabcle = new int[56], *final = new int[48]; personellement ca me prov


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales