Longeur string boucle while
mat0608
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je voudrais afficher une suite de mot par exemple UTILISATEURS EST, et afficher ces deux mots en fonction de la longeur du premier mot. Par exemple UTILISATEURS EST=11 caractères. UTILISATEURS *5 =55 caractères. La longeur de UTILISATEURS EST= 16 caractère. Afficher UTILISATEURS EST tant que UTILISATEURS EST est < 55 caractère.
UTILISATEURS EST (16) UTILISATEURS EST(32)UTILISATEURS EST(48)UTILISATEURS EST(64 fin de la boucle).
mon code fonctione mais stoppe à 2 repetitions et je ne sais pas pourquoi.
je voudrais afficher une suite de mot par exemple UTILISATEURS EST, et afficher ces deux mots en fonction de la longeur du premier mot. Par exemple UTILISATEURS EST=11 caractères. UTILISATEURS *5 =55 caractères. La longeur de UTILISATEURS EST= 16 caractère. Afficher UTILISATEURS EST tant que UTILISATEURS EST est < 55 caractère.
UTILISATEURS EST (16) UTILISATEURS EST(32)UTILISATEURS EST(48)UTILISATEURS EST(64 fin de la boucle).
mon code fonctione mais stoppe à 2 repetitions et je ne sais pas pourquoi.
static void Main(string[] args) { string texto1, texto2, texto3; Console.WriteLine("ecrire un mot"); texto1 = Console.ReadLine(); Console.WriteLine("ecrire un mot"); texto2 = Console.ReadLine(); string texto1M = texto1.ToUpper(); string texto2M = texto2.ToUpper(); Console.WriteLine("en majuscule:{0} {1}", texto1M, texto2M); int count = 0; int resultado = 0; int resultado1 = 0; int resultado2 = 0; texto3 = string.Concat(string.Concat(texto1M.Trim(), " " + texto2M.Trim(), " ")); resultado = texto3.Length; resultado1 = texto1M.Length; resultado2 = texto2M.Length; Console.WriteLine("la longeur text3 est de {0}", resultado); Console.WriteLine("la longeur text1 est de {0}", resultado1); Console.WriteLine("la longeur text2 est de {0}", resultado2); Console.WriteLine("la longeur text1*5 est de {0}", resultado1 * 5); do { Console.Write(texto3); resultado = resultado + resultado; count++; } while (resultado <= resultado1 * 5); Console.WriteLine("repetitions{0}", count); Console.ReadKey(); } } }
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Longeur string boucle while
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Tv orange chargement en boucle ✓ - Forum TV & Vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
1 réponse
Rebonjour
Le concat 2 fois de suite, c'est un peut lourd
Alternative 1
Atlernative 2
En exécutant ton code en pas à pas, on constate que resultado1 vaut 12 donc fois 5, ça fait 60, et comme resultado vaut 17, ça fait 2 tours
A la fin du premier c'est 17+ 17 : 34, ok ça passe
A la fin du second c'est 34 + 34 : 68, ça passe plus.
texto3 = string.Concat(string.Concat(texto1M.Trim(), " " + texto2M.Trim(), " "));
Le concat 2 fois de suite, c'est un peut lourd
Alternative 1
texto3 = texto1M.Trim() +" " + texto2M.Trim() + " ";
Atlernative 2
texto3 = string.Format("{0} {1} ",Texto1M.Trim(), texto2M.Trim());
En exécutant ton code en pas à pas, on constate que resultado1 vaut 12 donc fois 5, ça fait 60, et comme resultado vaut 17, ça fait 2 tours
A la fin du premier c'est 17+ 17 : 34, ok ça passe
A la fin du second c'est 34 + 34 : 68, ça passe plus.
Si tu aurais un indice?
do
{
Console.Write(texto3);
resultado3=resultado++;
count++;
}
while (resultado3 <= resultado1 * 5);
Et à la réflexion, tu n'as pas besoin d'une variable de plus, en effet tu as bien réussi à fournir le premier 17 à resultado.
//sachant
resultado=texto3.Length ( text1+text2)
resultado1= texto1M.Length
//
do
{
Console.Write(texto3);
resultado = resultado + resultado;
count++;
}
while (resultado <= resultado1 * 5);