lunes, 18 de mayo de 2026

Eliminar un carácter x de una cadena introducido por teclado en C Sharp

Código del ejercicio:

string aux = ""; int i = 0; int sw = 0;
Console.Write("Ingresar texto: ");
string s = Console.ReadLine();
Console.Write("Ingresar carácter: ");
char e = char.Parse(Console.ReadLine());
while(i < s.Length)
{
    if (s[i] == e && sw == 0)
    {
        sw = 1;
    }
    else
    {
        aux = aux + s[i];
        sw = 0;
    }
    i = i + 1;
}
Console.Write(aux);
Console.ReadKey();

Definición de los códigos del ejercicio:

Console.Write() --> escribe un texto en pantalla.
int --> dato entero de 32 bits.
Parse() --> se utiliza para convertir una representación de cadena de un número en un entero equivalente con signo de 16/32/64 bits.
Console.ReadLine() --> lee un dato desde teclado.
string --> dato de tipo cadena de texto.
char --> se usa para contener un único carácter unicode (con codificación Unicode de 16 bits).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
Length --> obtiene el número de caracteres del objeto String actual .
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
&& --> el operador lógico AND ( && ) (conjunción lógica) para un conjunto de operandos booleanos será true si y solo si todos los operandos son true. De lo contrario será false.
Console.ReadKey() --> escribimos el método Console.ReadKey() al final de nuestro código para mantener abierta la ventana de nuestra consola.

Explicación del Código:

Código del ejercicio

string aux = "";
int i = 0;
int sw = 0;

Console.Write("Ingresar texto: ");
string s = Console.ReadLine();

Console.Write("Ingresar carácter: ");
char e = char.Parse(Console.ReadLine());

while(i < s.Length)
{
    if (s[i] == e && sw == 0)
    {
        sw = 1;
    }
    else
    {
        aux = aux + s[i];
        sw = 0;
    }

    i = i + 1;
}

Console.Write(aux);
Console.ReadKey();

Explicación simple del código

string aux = "";
Crea una variable vacía llamada aux. Aquí se guardará el nuevo texto sin el carácter eliminado.
int i = 0;
Variable contador utilizada para recorrer el texto letra por letra.
int sw = 0;
Variable bandera que ayuda a controlar cuándo se encuentra el carácter a eliminar.
Console.Write("Ingresar texto: ");
Muestra un mensaje pidiendo al usuario ingresar un texto.
string s = Console.ReadLine();
Guarda el texto ingresado en la variable s.
Console.Write("Ingresar carácter: ");
Solicita el carácter que se desea eliminar.
char e = char.Parse(Console.ReadLine());
Guarda el carácter ingresado en la variable e.
while(i < s.Length)
Recorre todo el texto mientras la posición sea menor a la longitud de la cadena.
if (s[i] == e && sw == 0)
Verifica si el carácter actual es igual al carácter que se quiere eliminar.
sw = 1;
Activa la bandera para indicar que se encontró el carácter.
else
Si el carácter no es el que se desea eliminar, entra al bloque else.
aux = aux + s[i];
Agrega el carácter actual a la nueva cadena.
sw = 0;
Reinicia la bandera.
i = i + 1;
Avanza a la siguiente posición del texto.
Console.Write(aux);
Muestra el texto final sin el carácter eliminado.
Console.ReadKey();
Espera que el usuario presione una tecla antes de cerrar la consola.

Ejemplo de ejecución

Texto ingresado: hola mundo
Carácter a eliminar: o

Resultado: hla mund

No hay comentarios.:

Publicar un comentario

Pedir la edad y determinar si puede o no sacar licencia de conducir en C Sharp

Código del ejercicio: Console . Write ( "Ingresar edad: " ); int edad = int . Parse ( Console . ReadLine ()); if ( eda...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️