Visual studio
Fermé
mayahhh
Messages postés
2
Date d'inscription
lundi 26 août 2019
Statut
Membre
Dernière intervention
27 août 2019
-
26 août 2019 à 09:21
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 - 27 août 2019 à 13:17
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 - 27 août 2019 à 13:17
A voir également:
- Visual studio
- Cam studio - Télécharger - Capture d'écran
- Microsoft visual c++ runtime - Guide
- Visual petanque - Télécharger - Sport
- Visual studio 2017 - Télécharger - Langages
- Fl studio - Télécharger - Édition & Montage
4 réponses
Whismeril
Messages postés
19027
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 avril 2024
931
26 août 2019 à 09:34
26 août 2019 à 09:34
Bonjour
d'abord quelques conseils pour poster ici:
Pour ton problème, à priori oui, le code semble bon.
As tu mis un point d'arrêt au début de la méthode et exécuté en pas à pas, tout en vérifiant le contenu des variables pour voir se qui se passe?
Si oui, décrit se qui se passe, si non, fais le et reviens décrire si cela ne t'a pas apporté la solution.
d'abord quelques conseils pour poster ici:
- choisir un titre en rapport avec la question, "Visual Studio" suggère un problème avec l'IDE, or il s'agit d'un problème de code.
- utiliser la coloration syntaxique, voir ici un petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code (si ça n'est pas suffisamment clair, merci de le dire, on l'améliorera)
- Décrire précisément ce qui se passe, "ça ne marche pas" ou "je n'y arrive pas" n'aide pas un interlocuteur qui n'est n'est pas dans ta tête, et n'a pas accès à ton ordinateur.
Pour ton problème, à priori oui, le code semble bon.
As tu mis un point d'arrêt au début de la méthode et exécuté en pas à pas, tout en vérifiant le contenu des variables pour voir se qui se passe?
Si oui, décrit se qui se passe, si non, fais le et reviens décrire si cela ne t'a pas apporté la solution.
SioGabx
Messages postés
265
Date d'inscription
mardi 21 août 2018
Statut
Membre
Dernière intervention
17 novembre 2022
100
Modifié le 26 août 2019 à 09:51
Modifié le 26 août 2019 à 09:51
J'ai pas tester je suis sur telephone mais :
private void elempairs_Click(object sender, EventArgs e) { label2.Text = " "; int i; for (i = 0; i < montab.Length; i++) { //Je prend le chiffre et je le divise par 2 double testifpair = montab[i] / 2; //Je l'arrondi a l'entier inférieur int entierinferieur = Math.Floor(testifpair); //si la division - l'entier inferieur == 0 alors chiffre pair //Exemple : //i = 6 // 6/2 =3 //entier inferieur de 3 = 3 //3-3 = 0 c'est donc un chiffre pair //i = 5 //5/2 =2.5 //entier inferieur de 2.5 = 2 //2.5-2 = 0.5 -> chiffre impair if ((testifpair - entierinferieur) == 0) { label2.Text = label2.Text + " " + montab[i].ToString(); } } }
SioGabx
Messages postés
265
Date d'inscription
mardi 21 août 2018
Statut
Membre
Dernière intervention
17 novembre 2022
100
26 août 2019 à 09:48
26 août 2019 à 09:48
Ah a priori ton code était bon, quelqu'un peux m'expliquer l'effet de cette ligne de code ?
J'ai bien compris que cella fait la même chose que mes calcul enfin d'après whismeril, mais je ne comprends pas pourquoi...
if (montab[i]%2 == 0)
J'ai bien compris que cella fait la même chose que mes calcul enfin d'après whismeril, mais je ne comprends pas pourquoi...
Whismeril
Messages postés
19027
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 avril 2024
931
Modifié le 26 août 2019 à 11:46
Modifié le 26 août 2019 à 11:46
Bonjour
l'opérateur % (modulo) retourne le reste d'une division entière.
1234567890 est divisible par 2, donc le reste est 0.
13 / 2 donne 6 reste 1.
C'est de l'algorithmie "de base", quand on suit un cours "académique" ça s'apprend très rapidement.
Je suppose que tu es autodidacte et que tu as appris en bidouillant.
J'ai fait ça aussi, et comme toi je butais sur des trucs de bases.
Un jour, suivi un cours structuré (en VB4 à l'époque) et je me suis rendu compte qu'avoir sauté les bases a été une erreur:
Le meilleur conseil que je puisse te donner est de suivre un cours d'algorithmie
https://algo.developpez.com/cours/ et un cours de C# https://tahe.developpez.com/dotnet/csharp/
Ça va te prendre un peu de temps, mais il faut savoir perdre le temps d'en gagner.
l'opérateur % (modulo) retourne le reste d'une division entière.
1234567890 est divisible par 2, donc le reste est 0.
13 / 2 donne 6 reste 1.
C'est de l'algorithmie "de base", quand on suit un cours "académique" ça s'apprend très rapidement.
Je suppose que tu es autodidacte et que tu as appris en bidouillant.
J'ai fait ça aussi, et comme toi je butais sur des trucs de bases.
Un jour, suivi un cours structuré (en VB4 à l'époque) et je me suis rendu compte qu'avoir sauté les bases a été une erreur:
- le codais très mal,
- je réinventais souvent la roue (comme tu l'as fait aujourd'hui)
- j'avais compris un certain nombre de choses de travers.
Le meilleur conseil que je puisse te donner est de suivre un cours d'algorithmie
https://algo.developpez.com/cours/ et un cours de C# https://tahe.developpez.com/dotnet/csharp/
Ça va te prendre un peu de temps, mais il faut savoir perdre le temps d'en gagner.
SioGabx
Messages postés
265
Date d'inscription
mardi 21 août 2018
Statut
Membre
Dernière intervention
17 novembre 2022
100
>
Whismeril
Messages postés
19027
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 avril 2024
26 août 2019 à 12:51
26 août 2019 à 12:51
Je connaissais pas, et effectivement je dois à mon avis j'ai du souvent réinventé la roue comme tu dis puisque je regarde comment faire seulement quand je n'y arrive pas... x)
J'ai jamais fait de C# mais en 1 ans j'ai fait pas mal de Vb.net, de php, et un peu de JS.
Je vais regarder tes liens, du coup merci :D
J'ai jamais fait de C# mais en 1 ans j'ai fait pas mal de Vb.net, de php, et un peu de JS.
Je vais regarder tes liens, du coup merci :D
Whismeril
Messages postés
19027
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 avril 2024
931
26 août 2019 à 13:06
26 août 2019 à 13:06
De rien
mayahhh
Messages postés
2
Date d'inscription
lundi 26 août 2019
Statut
Membre
Dernière intervention
27 août 2019
Modifié le 27 août 2019 à 12:11
Modifié le 27 août 2019 à 12:11
J'ai pu régler le problème, merci beaucoup.
Mais suite a cette modification je n'arrive plus a réorganiser mon tableau de telle que tous les nombres paires soient regroupes au début du tableau et soient suivis par les nombres impaires.
private void reorgtab_Click(object sender, EventArgs e)
{
int i;
int pair1, impair1;
pair1 = -1;
impair1 = 10;
for (i = 0; i < montab.Length; i++)
{
if (montab[i] % 2 == 0)
{
pair1 = pair1 + 1;
tableautri[pair1] = montab[i];
}
else
{
impair1 = impair1 - 1;
tableautri[impair1] = montab[i];
}
}
for (i = 0; i < montab.Length; i++)
{
label2.Text = label2.Text + " " + tableautri[i].ToString();
}
}
}
}</code>
Mais suite a cette modification je n'arrive plus a réorganiser mon tableau de telle que tous les nombres paires soient regroupes au début du tableau et soient suivis par les nombres impaires.
private void reorgtab_Click(object sender, EventArgs e)
{
int i;
int pair1, impair1;
pair1 = -1;
impair1 = 10;
for (i = 0; i < montab.Length; i++)
{
if (montab[i] % 2 == 0)
{
pair1 = pair1 + 1;
tableautri[pair1] = montab[i];
}
else
{
impair1 = impair1 - 1;
tableautri[impair1] = montab[i];
}
}
for (i = 0; i < montab.Length; i++)
{
label2.Text = label2.Text + " " + tableautri[i].ToString();
}
}
}
}</code>
Whismeril
Messages postés
19027
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 avril 2024
931
Modifié le 27 août 2019 à 13:18
Modifié le 27 août 2019 à 13:18
Bonjour
je voies que tu as essayé d'utiliser la coloration syntaxique (il y a la balise fermante), mais que cela n'a pas fonctionné (il manque la balise ouvrante).
Sache que tu peux prévisualiser ton message avec le bouton éponyme (le message apparait au dessus) pour constater si le rendu est correct.
Si tu as oublié de prévisualiser, tu peux aussi modifier un de tes messages quelques minutes après l'avoir posté en cliquant sur le crayon en haut à droit du message.
Pour ton problème en particulier
Voir même, supprimer cette ligne et modifier la suivante
Tu noteras que cette fois j'ai mis le ++ avant la variable, cela veut dire que l'on fait l'incrémentation avant que la valeur soit prise pour l'index. si on écrit
Tu peux corriger la seconde partie du tri avec --.
Que se passe-t-il quand tu exécutes en pas à pas?
je voies que tu as essayé d'utiliser la coloration syntaxique (il y a la balise fermante), mais que cela n'a pas fonctionné (il manque la balise ouvrante).
Sache que tu peux prévisualiser ton message avec le bouton éponyme (le message apparait au dessus) pour constater si le rendu est correct.
Si tu as oublié de prévisualiser, tu peux aussi modifier un de tes messages quelques minutes après l'avoir posté en cliquant sur le crayon en haut à droit du message.
Pour ton problème en particulier
impair1 = 10; // si montab ne contient pas 10 éléments ça va merdouiller
pair1 = pair1 + 1;tu peux le remplacer par
pair1++;
Voir même, supprimer cette ligne et modifier la suivante
tableautri[++pair1] = montab[i];
Tu noteras que cette fois j'ai mis le ++ avant la variable, cela veut dire que l'on fait l'incrémentation avant que la valeur soit prise pour l'index. si on écrit
tableautri[pair1++] = montab[i];la valeur d'index est prise avant l'incrémentation
Tu peux corriger la seconde partie du tri avec --.
Que se passe-t-il quand tu exécutes en pas à pas?