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
Utilisateur anonyme - 27 août 2019 à 13:17
Utilisateur anonyme - 27 août 2019 à 13:17
A voir également:
- Visual studio
- Microsoft visual c++ runtime - Guide
- Visual petanque - Télécharger - Sport
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Visual paradigm - Télécharger - Gestion de données
- Cam studio - Télécharger - Capture d'écran
4 réponses
Utilisateur anonyme
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...
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
>
Utilisateur anonyme
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
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>
Utilisateur anonyme
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?