Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

218
Vistas
No se puede mover el signo hash al lado derecho

No puedo mover el signo de almohadilla hacia la derecha para obtener la siguiente forma. Mi código a continuación no funciona como se esperaba, pero necesito obtener la forma a continuación.

por favor como lo hago

 # ## ### #### ##### ###### #######
 public class MyProgramTest { public static void StaircaseChallenge(int n) { for (int i = 1; i <= n; i++) { Console.WriteLine(MySpace(i) + HashSign(i)); } } public static string HashSign(int n) { string t = ""; for (int i = 1; i <= n; i++) { t += "#"; } return t; } public static string MySpace(int n) { string t = "/t"; for (int i = 1; i < n; i++) { t += " "; } return t; } }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Prueba esto:

 public class MyProgramTest { public static void StaircaseChallenge(int n) { for (int i = 1; i <= n; i++) { Console.WriteLine(" ".PadLeft(n - i+1, ' ')+"#".PadLeft(i,'#')); } }

O haga algunos cambios en su código:

 public class MyProgramTest { public static void StaircaseChallenge(int n) { for (int i = 1; i <= n; i++) { Console.WriteLine(MySpace(n - i + 1) + HashSign(i)); } } public static string HashSign(int n) { string t = ""; for (int i = 1; i <= n; i++) { t += "#"; } return t; } public static string MySpace(int n) { string t = string.Empty; for (int i = 1; i < n; i++) { t += " "; } return t; } }
over 4 years ago · Santiago Trujillo Denunciar

0

Cambie solo algunas cosas en su código:

 public class MyProgramTest { public static void StaircaseChallenge(int n) { for (int i = 1; i <= n; i++) { Console.WriteLine(MySpace(i, n) + HashSign(i)); } } public static string HashSign(int n) { string t = ""; for (int i = 1; i <= n; i++) { t += "#"; } return t; } public static string MySpace(int m, int n) { string t = ""; for (int i = 1; i <= n - m; i++) { t += " "; } return t; } }

Tienes que pasar más una variable es n (número de fila) en la función MySpace() para dejar espacio. Cuando pasa el número de fila en la función MySpace(), dejará (número de fila - 1) espacio. Entonces, si ingresa 5, la primera vez dejará 4 espacios y luego pondrá "#" de la misma manera.

over 4 years ago · Santiago Trujillo Denunciar

0

Una forma más eficiente de memoria sería usar la clase StringBuilder.

Para esta situación no es crítico, pero es bueno saberlo.

 // define the amount of steps int n=8; // amount of leading whitespaces, for later usage int padding=0; // this one is the "working" memory, initialized by n + padding whitespaces StringBuilder currentLine=new StringBuilder(new string(' ',n+padding)); // it counts down from the last index to the one indicated by padding for (int i = currentLine.Length-1; i >=padding; i--) { // replace the char at the current index with #; (here: always the index of the last whitespace) currentLine[i]='#'; // display a copy of the current state on the console, Console.WriteLine(currentLine.ToString()); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda