Skip to content

JC-DEV-EC/String-Replacement-Problem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

String Replacement Problem

Licencia MIT Estado del Proyecto Versión

Este proyecto implementa un algoritmo para reemplazar caracteres en una cadena de texto según las posiciones indicadas por un arreglo. Es útil en casos donde se necesita modificar una cadena siguiendo un patrón específico definido por un conjunto de posiciones.

📋 Descripción

El String Replacement Problem consiste en reemplazar los caracteres de una cadena en las posiciones especificadas por un arreglo, utilizando los primeros caracteres del alfabeto inglés en minúscula. Este programa está diseñado para manejar entradas específicas y generar un resultado acorde a las reglas definidas.

🛠️ Tecnologías Utilizadas

  • C: Lenguaje de programación utilizado para implementar la lógica del sistema.
  • Archivos: Se utilizan para leer las entradas y escribir los resultados.
  • Validación de entradas: Para asegurar que los datos proporcionados sean correctos y cumplan con las restricciones.

🏗️ Instalación

Para ejecutar este proyecto en tu máquina local, sigue estos pasos:

  1. Clona el repositorio:

    git clone https://github.com/LatinGladiador/String-Replacement-Problem.git
  2. Navega al directorio del proyecto:

    cd String-Replacement-Problem
  3. Compila el archivo C:

    gcc main.c -o string_replacement
  4. Ejecuta el programa:

    ./string_replacement

🖥️ Uso

  1. Crea un archivo llamado input.txt con el formato especificado en la sección de Ejemplos.
  2. Ejecuta el programa que leerá la entrada desde input.txt y generará un archivo output.txt con el resultado.

📄 Formato de Entrada y Salida

Entrada

  • El archivo input.txt debe seguir el siguiente formato:
    1. La primera línea debe contener un entero N (2 ≤ N ≤ 50) que representa la longitud de la cadena.
    2. La segunda línea debe contener una cadena S de longitud N.
    3. La tercera línea debe contener un entero M (1 ≤ M ≤ min(N - 1, 26)) que representa la cantidad de posiciones a modificar.
    4. La cuarta línea debe contener M enteros que representan las posiciones en la cadena a modificar.

Salida

  • El archivo output.txt contendrá:
    1. Una cadena resultante después de aplicar las modificaciones según las reglas o "Invalid inputs" si alguna entrada no cumple las restricciones.

Ejemplos

input.txt:

8
thisismy
3
1 5 7

output.txt:

taisiemg

input.txt:

8
thisismy
3
1 5 8

output.txt:

Invalid inputs

input.txt:

-1
thisismy
3
1 5 8

output.txt:

Invalid inputs

🤝 Contribuciones

Las contribuciones son bienvenidas. Si deseas contribuir, sigue estos pasos:

  1. Haz un fork del repositorio.

  2. Crea una nueva rama para tus cambios:

    git checkout -b feature/nueva-caracteristica
  3. Realiza tus cambios y haz commit:

    git commit -m "Añadida nueva característica"
  4. Empuja tu rama:

    git push origin feature/nueva-caracteristica
  5. Abre un Pull Request en GitHub.

👤 Autor

Este proyecto fue creado y es mantenido por LatinGladiador.

📜 Licencia

Este proyecto está licenciado bajo la Licencia MIT.


MIT License


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages