Professional Documents
Culture Documents
Programacin
i I.
I Tema
T
5
Estructuras de datos.
CADENAS DE CARACTERES
Tema 5 - 2
Curso 06/07
vocales [5]={a,e,i,o,u};
* letra;
Por ejemplo:
posicin0
vocales
letra
200
posicin N
Tema 5 - 3
vocales
a
b
i
o
u
letra
Tema 5 - 4
Curso 06/07
13
\0
13
2
o
24
\0
2
o
12
g
Tema 5 - 5
Curso 06/07
Asignacin de valores
En la declaracin:
no se puede
d
asignar valores
de esta forma
char
h
asignatura
i
[25] =
programacion1;
i 1
asignatura = programacion1;
Tema 5 - 6
Curso 06/07
Cadenas y punteros
nombre
p = nombre;
fscanf(stdin,%s, p);
letra
19
\0
?
19
si tecleamos 1az
Tema 5 - 7
Cadenas y punteros
\0
\0
Tema 5 - 8
Curso 06/07
#include <stdio.h>
char * fgets (char *string, int n, FILE *stream );
Tema 5 - 9
Curso 06/07
#include <stdio.h>
int fputs (const char *string, FILE *stream );
Tema 5 - 10
Curso 06/07
Tema 5 - 11
Curso 06/07
Tema 5 - 12
Curso 06/07
#include <stdio.h>
#define N 80
void main (void){
char linea [N];
do
{
fgets(linea,N,stdin);
/* precaucin por si linea es menor de N */
if (linea[strlen (linea)-1]==\n)
linea[strlen(linea) 1]=\0;
linea[strlen(linea)-1]=\0;
fputs (la linea es: , stdout);
fputs(linea, stdout);
}while (linea[0]!=`\0);
}
Tema 5 - 13
Curso 06/07
Tema 5 - 14
Curso 06/07
Tema 5 - 15
Curso 06/07
Valor devuelto:
Si string1
g es igual a string2,
g devuelve un cero.
Si string1 es menor que string2, devuelve un
nmero negativo.
Si string1 es mayor que string2, devuelve un
nmero positivo.
Programacin I: Estructuras de datos.
Tema 5 - 16
Curso 06/07
#include <stdio.h>
#include <string.h>
#define DIM 30
(char *string,
g, int n,
, FILE *stream );
void leerCadena (
void main (void){
char nombre1 [DIM];
char nombre2 [] = "pepe";
int aux,i;
fprintf (stdout,"Escriba su nombre: ");
leerCadena (nombre1, DIM, stdin);
aux = strcmp (nombre1,nombre2);
if (aux == 0)
fprintf (stdout,"Hola bienvenido pepe\n");
else {
if (aux < 0)
fprintf (stdout,"Hola tu nombre no es pepe, es menor\n");
else
fprintf (stdout,"Hola tu nombre no es pepe, es mayor\n");
}
}
Programacin I: Estructuras de datos.
Tema 5 - 17
Curso 06/07
Tema 5 - 18
Curso 06/07
Tema 5 - 19
Curso 06/07
Busca
B
ell siguiente
i i t d
delimitador
li it d strDelimit
t D li it en
la cadena de caracteres strToken (debe terminar en
\0).
Valor devuelto:
Cada vez que se invoca devuelve un puntero a
una palabra de la cadena strToken,
strToken en la que se
consideran como delimitadores de palabra los
especificados en strDelimit.
Cuando no se encuentran ms palabras,
devuelve un puntero a NULL.
Programacin I: Estructuras de datos.
Tema 5 - 20
Curso 06/07
10
la primera vez se
pasa la cadena y el
resto el valor NULL
Tema 5 - 21
Curso 06/07
Mirar si es palndromo
INICIO
Mientras principio < final y
sean iguales los elementos del array de ndices principio y
final hacer
principio <- siguiente(principio+1)
final<-anterior(final-1)
finMientras
FIN
Programacin I: Estructuras de datos.
Tema 5 - 22
Curso 06/07
11
Tema 5 - 23
Curso 06/07
Ejercicio
Buscar
us a si
s una
u a determinada
d
ada cadena
ad a de
d
caracteres est contenida en otra.
Solo mirar la primera ocurrencia.
Tema 5 - 24
Curso 06/07
12