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.
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.
- 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.
Para ejecutar este proyecto en tu máquina local, sigue estos pasos:
-
Clona el repositorio:
git clone https://github.com/LatinGladiador/String-Replacement-Problem.git
-
Navega al directorio del proyecto:
cd String-Replacement-Problem
-
Compila el archivo C:
gcc main.c -o string_replacement
-
Ejecuta el programa:
./string_replacement
- Crea un archivo llamado
input.txt
con el formato especificado en la sección de Ejemplos. - Ejecuta el programa que leerá la entrada desde
input.txt
y generará un archivooutput.txt
con el resultado.
- El archivo
input.txt
debe seguir el siguiente formato:- La primera línea debe contener un entero N (2 ≤ N ≤ 50) que representa la longitud de la cadena.
- La segunda línea debe contener una cadena S de longitud N.
- La tercera línea debe contener un entero M (1 ≤ M ≤ min(N - 1, 26)) que representa la cantidad de posiciones a modificar.
- La cuarta línea debe contener M enteros que representan las posiciones en la cadena a modificar.
- El archivo
output.txt
contendrá:- Una cadena resultante después de aplicar las modificaciones según las reglas o "Invalid inputs" si alguna entrada no cumple las restricciones.
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
Las contribuciones son bienvenidas. Si deseas contribuir, sigue estos pasos:
-
Haz un fork del repositorio.
-
Crea una nueva rama para tus cambios:
git checkout -b feature/nueva-caracteristica
-
Realiza tus cambios y haz commit:
git commit -m "Añadida nueva característica"
-
Empuja tu rama:
git push origin feature/nueva-caracteristica
-
Abre un Pull Request en GitHub.
Este proyecto fue creado y es mantenido por LatinGladiador.
Este proyecto está licenciado bajo la Licencia MIT.