miércoles, 11 de enero de 2023

STRINGS... VECTORES PARTICULARES


STRING: Sirven para almacenar una frase (conjunto de caracteres)- Se trata como un vector cuyos elementos son caracteres.

char frase[15]: se trata de un vector con 15 elementos. OJO! el último es siempre \0 (para que el programa sepa donde acaba)
Si queremos almacenar la frase "Buenos días, mentes programadoras", tengo que crear un string con.......+1 elementos.

Hay tres formas de almacenar elementos en un string (pero sólo una es la buena!):

1: scanf ("%s", &frase);     - NO USAR!
Problema: Sólo almacena hasta que se encuentra con un espacio. Compruébalo con este programa:
------------------------
#include<stdio.h>

main(){
char frase[12];

printf("Introduce una frase:");
scanf("%s", &frase);

printf("%s\n\n", frase);
system("pause");
return 0;
}
---------------------
2: gets(frase);        - NO USAR con más número de elementos! Ni para el ejemplo!
Problema: No hace caso de la limitación de memoria que le damos al programa al definir la longitud del vector. Puede borrar algún archivo importante de la memoria!

3: fgets(frase, 12, stdin);
Ésta es la opción buena, comprueba que funciona correctamente modificando el ejemplo de arriba.

Ejercicios:

0.- Trabaja el tutorial correspondiente, programando los ejercicios que se ven en él (primera mitad obligada, la segunda mitad, voluntaria).
1.- Crear un programa que lea una cadena de caracteres (frase) y diga cuántas vocales hay. (Es conveniente aquí referirse a los elementos de cada string como variables tipo "carácter")
2.- Preparar un programa que lea una cadena y la muestre al revés.
--------------------------------------------------------------------------------------------------------------------------

FUNCIONES AUXILIARES: funciones ya definidas que podemos utilizar si incluimos la librería "string.h" en la cabecera del programa:

Podemos utilizar entonces funciones auxiliares como por ejemplo strcmp (primerstring, segundotring) (devuelve un 0 si los strings son iguales).

Ejercicios:

3.- Piensa en el algoritmo para comparar dos strings y prepáralo en un programa.
4.- Cambiar en una frase dada la letra "a" por un espacio.(utiliza la función auxiliar "strlen(nombrestring)"

No hay comentarios:

Publicar un comentario