Código del ejercicio:
Definición de los códigos del ejercicio:
#include <stdio.h> --> significa "standard input-output header" (cabecera estándar E/S), es un archivo de encabezado que tiene la información necesaria para incluir las funciones relacionadas con la entrada/salida en nuestro programa. Ejemplo printf, scanf, etc.#include <locale.h> --> especificador de configuración regional.
#include <string.h> --> declara un conjunto de funciones para trabajar con cadenas.
int --> dato entero de 32 bits.
main() --> es la primera función de cada programa C que es responsable de iniciar la ejecución y finalización del programa. Es una función especial que siempre comienza a ejecutar código desde el ' principal ' que tiene ' int ' o ' void ' como tipo de datos de retorno. En otras palabras, una función main() es un punto de entrada del código de programación para iniciar su ejecución.
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
printf() --> permite la aparición de valores numéricos, caracteres y cadenas de texto por pantalla.
scanf() --> permite entrar datos en la memoria del ordenador a través del teclado.
char a[size] = "hola"; --> una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.
char n = 'N'; --> una constante tipo char se representa como un solo carácter encerrado entre comillas simples.
gets() --> lee una cadena de texto desde teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
strlen() --> devuelve la longitud de una cadena de texto.
&& --> 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.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
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.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Explicación del Código:
Código en C
#include <stdio.h>
#include <locale.h>
#include <string.h>
int main(){
setlocale(LC_CTYPE, "Spanish");
int i = 0, p = 0, sw = 0;
char s[200], l;
printf("Ingresar texto: ");
gets(s);
printf("Ingresar carácter: ");
scanf("%c", &l);
while(i < strlen(s) && sw == 0){
if(s[i] == l){
p = i;
sw = 1;
}
i++;
}
printf("El carácter %c está en la posición %i", l, p);
return 0;
}
Explicación simple
- stdio.h: Permite usar printf y scanf.
- locale.h: Configura el idioma del programa.
- string.h: Permite usar strlen para medir la cadena.
- setlocale: Activa soporte en español.
- i: recorre la cadena.
- p: guarda la posición del carácter encontrado.
- sw: indica si ya se encontró el carácter.
- s[200]: cadena de texto ingresada.
- l: carácter a buscar.
- gets: lee la cadena (obsoleta).
- while: recorre la cadena hasta encontrar el carácter.
- if: compara cada letra con el carácter buscado.
- printf: muestra la posición encontrada.
Resumen
El programa busca la primera aparición de un carácter dentro de una cadena y muestra en qué posición se encuentra.
Código del ejercicio: Otra forma de hacer
Definición de los códigos del ejercicio:
#include <stdio.h> --> significa "standard input-output header" (cabecera estándar E/S), es un archivo de encabezado que tiene la información necesaria para incluir las funciones relacionadas con la entrada/salida en nuestro programa. Ejemplo printf, scanf, etc.#include <locale.h> --> especificador de configuración regional.
#include <string.h> --> declara un conjunto de funciones para trabajar con cadenas.
int --> dato entero de 32 bits.
main() --> es la primera función de cada programa C que es responsable de iniciar la ejecución y finalización del programa. Es una función especial que siempre comienza a ejecutar código desde el ' principal ' que tiene ' int ' o ' void ' como tipo de datos de retorno. En otras palabras, una función main() es un punto de entrada del código de programación para iniciar su ejecución.
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
printf() --> permite la aparición de valores numéricos, caracteres y cadenas de texto por pantalla.
scanf() --> permite entrar datos en la memoria del ordenador a través del teclado.
char a[size] = "hola"; --> una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.
char n = 'N'; --> una constante tipo char se representa como un solo carácter encerrado entre comillas simples.
gets() --> lee una cadena de texto desde teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
strlen() --> devuelve la longitud de una cadena de texto.
&& --> 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.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
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.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Explicación del Código:
✔ ¿Qué hace el programa?
Este programa permite ingresar un texto y un carácter, luego busca la primera posición donde aparece ese carácter dentro de la cadena.
✔ Librerías usadas
stdio.h: entrada y salida de datos.
locale.h: configuración de idioma.
string.h: uso de strlen para medir la cadena.
locale.h: configuración de idioma.
string.h: uso de strlen para medir la cadena.
✔ Variables
i: contador para recorrer la cadena.
s[200]: almacena el texto ingresado.
x: carácter que se desea buscar.
s[200]: almacena el texto ingresado.
x: carácter que se desea buscar.
✔ Ingreso de datos
Se usa gets(s) para leer la cadena y scanf("%c", &x) para ingresar el carácter a buscar.
✔ Proceso del programa
El ciclo while recorre la cadena letra por letra hasta encontrar el carácter o llegar al final.
✔ Condición de búsqueda
Si el carácter en la posición actual es diferente, el índice aumenta.
Si es igual, se muestra la posición y se detiene la búsqueda.
Si es igual, se muestra la posición y se detiene la búsqueda.
✔ Conclusión
Este ejercicio implementa una búsqueda lineal simple dentro de una cadena de texto en lenguaje C.
No hay comentarios.:
Publicar un comentario