Appel aux programmeurs renommés :)

Fermé
momoxi Messages postés 9 Date d'inscription vendredi 11 janvier 2013 Statut Membre Dernière intervention 31 janvier 2013 - 17 janv. 2013 à 05:57
WarthogDJ Messages postés 202 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 5 septembre 2020 - 20 janv. 2013 à 11:57
Bonjour,
J'ai un exercice de programmation en C"diéze" que je n'arrives pas à resoudre! je souhaite avoir de l'aide des connaisseurs .

le programme demande à l'utilisateur d'entrer un nombre X. Un l0sange, composé uniquement de « - » et de « * » ayant X lignes de hauteurs et X caractères de largeur est ensuite affiché à l'écran.

Merci d'avance


6 réponses

dforcier Messages postés 9 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 10 juillet 2013
17 janv. 2013 à 06:05
Petite précision, ce langage se nomme "c-sharp" (prononcé "si-charp") ;)

Ensuite, il semble que tu aies à écrire une petite application console.

Les instructions pour lire les entrées et afficher du texte dans la console sont dans l'objet "Console" (voire documentation sur "Readline" et "Writeline".

Ensuite, pour générer le losange, il semble en fait que ce soit un carré avec une rotation à 45° grosso modo, mais comme on ne sais pas comment tu dois utiliser les "-" et "*", on ne peut pas vraiment t'aider davantage.

En tout cas, j'espère t'avoir fourni un début de piste ;)
0
momoxi Messages postés 9 Date d'inscription vendredi 11 janvier 2013 Statut Membre Dernière intervention 31 janvier 2013
17 janv. 2013 à 06:33
c dieze et l0sange c'est pour qu'il ne soit pas facilement trouvable par mon prof sinon j'aurais plagiat... mais là t'a tout dit .......xD
0
momoxi Messages postés 9 Date d'inscription vendredi 11 janvier 2013 Statut Membre Dernière intervention 31 janvier 2013
17 janv. 2013 à 06:56
j'ai une question pour toi, pourquoi tu as utilisé "on" ( on ne peut pas t'aider ) ???
0
dforcier Messages postés 9 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 10 juillet 2013
18 janv. 2013 à 01:42
J'ai la manie très difficile à faire partir de parfois parler à la 3e personne. Mais ne t'inquiète pas, je me soigne ;)
0
momoxi Messages postés 9 Date d'inscription vendredi 11 janvier 2013 Statut Membre Dernière intervention 31 janvier 2013
17 janv. 2013 à 06:07
Si vous me donner juste une idée sur les conditions a mettre ca serai trés apprecié, la prof nous a donné aussi l'exe. pour cet exercice choisissez l'option 3, je l'ai uploadé voici le lien : https://www.2shared.com/file/QmsBh-AH/TP1_Q2.html

Merci encore
0
momoxi Messages postés 9 Date d'inscription vendredi 11 janvier 2013 Statut Membre Dernière intervention 31 janvier 2013
17 janv. 2013 à 06:31
int monNombre = 0;
Console.Write("Entrez un nombre : ");
monNombre = Convert.ToInt16(Console.ReadLine());


for (int i = 0; i <= monNombre - 1; i++)
{

for (int j = 0; j <= monNombre - 1; j++)
{
if ( ???????)
{
Console.Write("-");
}
else if ( ???????? )
{
Console.Write("*");
}

}

Console.WriteLine();
}


Il me faut des conditions pour soit mettre une * soit un - ,
Merci, mais je laisse ouvert aux autres suggestions ;-)
0
momoxi Messages postés 9 Date d'inscription vendredi 11 janvier 2013 Statut Membre Dernière intervention 31 janvier 2013
17 janv. 2013 à 07:42
J'ai eu l'idée de faire ca
if (i<j)
{
Console.Write("-");
}
else
{
Console.Write("*");
}

mais ce n'Est pas ca ce qu'il faut
par ex si on rentre 5
il donne ca
*----
**--
***-
****
il faut qu'il donne
--*--
-***-
*****
-***-
--*--
ca ne se voit pas tres bien mais c'est vraiment alligné sur la console...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dforcier Messages postés 9 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 10 juillet 2013
Modifié par dforcier le 18/01/2013 à 02:21
Ok, je vois là ce que tu dois faire. Ça me rappelle mes propres exercices quand j'étais à l'école :P

Je peux te dire que tu es bien parti. Le concept de base est là, il faut juste l'élaborer un peu plus ;)

Par contre, tu ferais mieux d'utiliser
Convert.ToInt32(Console.ReadLine());

Pour cause que tu as déclaré un Int32 (en cé-diaizze (c'est voulu :P), le type"int" et "Int32", c'est exactement la même chose). S tu veux continuer à utiliser ToInt16, il faut changer le type de ta variable pour Short ou Int16 (également pareils). Autrement, tant qu'on entrera des nombres allant de -32768 à 32767, ça ira sans problème, mais si je rentre 327896, ton programme va donner de mauvais résultats (voire carrément planter). Ça serait dommage;)
0
WarthogDJ Messages postés 202 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 5 septembre 2020 8
20 janv. 2013 à 11:57
Une boucle dans une autre

une pour la ligne et une pour les colones

tu dessine d'abord

*
**
***
****

Puis tu dessine juste apres

*****
****
***
**
*
0