Está en la página 1de 11

Arreglos de Caracteres

Programación 1
Clase 8
Arreglos de caracteres

► Las palabras se pueden ver como “grupos”


de caracteres en una secuencia.
► Existen manejos específicos para arreglos
de caracteres.
► Los arreglos de caracteres se denominan
“cadenas de caracteres” o “strings”.
► El carácter ‘\0’ (representado por el
número cero) indica el término de la
palabra.
Arreglos de caracteres

► Las cadenas de caracteres tienen un largo


máximo.
► El tamaño del arreglo limita el largo de las
palabras/frases.
► Cuando no se sabe el largo máximo se usan
punteros a char
► char*
► hay que asignar memoria en tiempo de ejecución.
► Manejo de memoria dinámica En otra ocasión…
Arreglos de caracteres

char palabra[5]
char[0]=‘h’;
“hola
h o l a \0 char[1]=‘o’;

char[2]=‘l’;
char[3]=‘a’;
char[4]=‘\0’;
Arreglos de caracteres
void main()
{
int i;
char palabra[32];

for(i=0;i<5;i++)
palabra[i]=65+i;
palabra[6]=2;

for(i=0;i<5;i++)
cout<<palabra[i];
cout<<"\n";
cout<<"\n"<<palabra;
getch();
}
Arreglos de caracteres
void main()
{
int i;
char palabra[32];

for(i=0;i<10;i++) ABCDEFGHIJ
palabra[i]=65+i; ABCD

cout<<palabra<<"\n";
palabra[4]=0;
cout<<"\n"<<palabra;
getch();
}
Funciones de cadenas
► Alguna funciones definidas en <string.h> entre otras

strcpy(c1,c2) Copia c1 en c2
strcat(c1,c2) Concatena c2 al final de c1
strlen(c1) Calcula el largo de c1
strcmp(c1,c2) Compara c1 con c2
strchr(c1,char) Encuentra char dentro de c1
strstr(c1,c2) Encuentra c2 dentro de c1
#include <string.h>
Ejemplo usando funciones de cadenas void main(){
int i;
char palabra1[32], palabra2[32];
cout<<"Ingrese la palabra1: ";
gets(palabra1);
cout<<"\nIngrese la palabra2: ";
gets(palabra2);
cout<<"\n";
cout<<"Palabras capturadas "<<palabra1<<" Y "<<palabra2<<"\n";
cout<<"\nSon iguales? ";
if (strcmp(palabra1,palabra2))
cout<<"NO\n";
else
cout<<"SI\n";
cout<<"\nLargo de palabras, Palabra1: "<<strlen(palabra1)<<" Palabra2: "<<strlen(palabra2);
cout<<"\n";
cout<<"\nPalabras concatenadas:";
strcat(palabra1, palabra2);
cout<<palabra1;
getch();
}
#include <ctype.h>;
Ejemplo usando funciones de cadenas
#include <stdio.h>;
void main(){
int i,m=0,t=0;
char frase[32];
cout<<"Ingrese una frase: ";
gets(frase);
t = strlen(frase);
for (int r=0;r<t;r++)
{
if(isupper(frase[r]))
m=m++;
}
cout<<"\La frase tiene: "<<m<<" letras mayusculas";
getch();
}
Practica & Tarea
Utilizando arreglos unidimensionales de 10 posiciones realice:
1. Copie los elementos de un arreglo en otro de la misma dimensión y tipo
de elementos.
2. Determine que valor de un arreglo es el mayor
3. Determine que valor de un arreglo es el menor
4. Calcule el promedio y la suma del valor de los elementos de un arreglo
5. Llene un arreglo B multiplicando *2 el valor de los elementos de un
arreglo A y llene un arreglo C multiplicando los elementos del arreglo
B * 0.75

Utilizando arreglo de caracteres realice: (Incluya librería CTYPE.H y


STRING.H) mínimo 30 posiciones.
1. Determine cuántas letras minúsculas tiene el arreglo (islower)
2. Llene un arreglo B con todos los caracteres en mayúscula de un arreglo
A
3. Determine cuantos espacios vacíos existen en el arreglo de caracteres
4. Llene un arreglo B con los caracteres en orden inverso al del arreglo
A
SI COMPILA BIEN….

SI CORRE
PERFECTO!!!

Gracias por su
atención!!!
FACULTAD DE INGENIERÍA EN SISTEMAS Y CC
PROGRAMACIÓN 1

También podría gustarte