Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejem 1
/*El identificador cin también lee cadenas pero termina o trunca la cadena al
encontrar el primer espacio en blanco */
#include<iostream>
using namespace std;
//Definicion de las funciones
void Leer(char c[]);
{ cout<<"Ingrese su nombre completo ";
cin>>nombre;
}
//Funcion principal
int main()
{ char nombre[35];
Leer(nombre); Print(nombre);
}
Ejem 2
/*uso de funciones para leer caracteres y cadenas en c++ se utiliza cin.get y
cin.getline respectivamente */
#include<iostream>
using namespace std;
//Definicion de las funciones
void Input(char c[])
{ cout<<"Ingrese una cadena ";
cin.getline(c,25);
}
//Funcion principal
int main()
{ char cadena[25];
Input(cadena);
Print(cadena);
}
Ejem 3
/* En C++ se utiliza cin.get para leer un caracter */
#include<iostream>
using namespace std;
int LeerCaracter()
{ char x;
cout<<"Ingrese un caracter ";
cin.get(x);
return x;
}
int main()
{ char c;
c=LeerCaracter();
Print(c);
}
Ejem 4
/* Las cadenas también se pueden leer y escribir haciendo uso de las funciones
gets() y puts() ambas de la libreria stdio */
#include<iostream>
#include <stdio.h>
using namespace std;
//Definicion de funciones
void Entrada(char x[])
{ cout<<"Ingrese sus nombres y apellidos: ";
gets(x);
}
//Funcion principal
int main()
{ char c[30];
Entrada(c);
VerDatos(c);
}
Ejem 5
/* muestra como una cadena de caracteres es tratada como un array
unidimensional */
#include<iostream>
using namespace std;
//Definicion de las funciones
void CaracterPorCaracter(char c[])
{ int i; //imprimiendo cadena como un array de caracteres
cout<<"La cadena con un espacio entre caracteres:\n\n";
for(i=0; c[i]!='\0'; i++)
cout<<c[i]<<" ";
cout<<endl;
}
//Funcion principal
int main()
{ char cadena[]="ALGORITMOS Y ESTRUCTURA DE DATOS";
CaracterPorCaracter(cadena);
}
Ejem 6
//uso de las funciones strcpy y strncpy
#include <iostream>
#include <string.h>
using namespace std;
//Definicion de la function
void OperaFunciones()
{ char x[]="Universidad Nacional Mayor de San Marcos";
char y[40],z[40]; cout<<"El string en el array x es -> "<<x<<endl;
cout<<"\nEl string en el array x copiado hacia el array y es ->\n"<<strcpy(y,x);
strncpy(z,x,8);
z[8]='\0'; //marca de fin de cadena
cout<<"\nParte del string en el array x copiado al array z es ->\n"<<z<<endl;
cout<<z<<endl;
}
//Funcion principal
int main()
{
OperaFunciones();
}
Ejem 7
//uso de las funciones strcat y strncat
#include <iostream>
#include <string.h>
using namespace std;
//Definicion de las funciones
void Procesar(char s1[], char s2[],char s3[])
{ strcat(s1,s2); cout<<"Concatenar s2 en s1: ";
cout<<endl<<s1;
cout<<endl; cout<<"\nConcatenar s3 en s1: "; strcat(s1,s3);
cout<<endl<<s1;
cout<<endl; cout<<"Parte de la s3 concatenada en s2: "; strncat(s2,s3,10);
cout<<endl<<s2<<endl;
}
//Funcion principal
int main()
{ char x1[100]="Con todo lo bueno que";
char x2[]=" significa heredar una biblioteca,";
char x3[]=" mejor aun es reunirla - Agustine Birrel";
Procesar(x1, x2,x3);
}
Ejem 8
#include <iostream>
#include <string.h>
using namespace std;
/* editor de texto sencillo que lee una cadena y cuenta el numero de palabras en
ella */
//Defenicion de las funciones
void Read(char c[])
{ int i=0;
cout<<"Ingrese linea de texto> ";
while((c=cin.get())!='\n')
linea[i++] = c;
linea[i++]='\0';
}
//Funcion principal
int main()
{ char lineas[80];
Read(lineas);
ContarPalabras(lineas);
}
Ejem 9
#include <iostream>
#include <string.h>
using namespace std;
/* uso de strcmp()*/
int main()
{
char cade1[]="lenguaje C++";
char cade2[]="LENGUAJE C++";
char cade3[]="lenguaje C++";
char cade4[]="LENGuaje c++";
int result; //almacena resultado de la comparacion
//comparar cadena 1 con cadena 2
result = strcmp(cade1,cade2);
if (result<0)
cout<<cade1<<" es menor que "<<cade2<<endl;
else if (result==0)
cout<<cade1<<" es igual que "<<cade2<<endl;
else
cout<<cade1<<" es mayor que "<<cade2<<endl;
cout<<result<<endl;
//comparar cadena 1 con cadena 3
result = strcmp(cade1,cade3);
if (result<0)
cout<<cade1<<" es menor que "<<cade3<<endl;
else if (result==0)
cout<<cade1<<" es igual que "<<cade3<<endl;
else
cout<<cade1<<" es mayor que "<<cade3<<endl;
cout<<result<<endl<<endl;
//comparar cadena 1 con cadena 4
result = strcmp(cade4,cade1);
if (result<0)
cout<<cade4<<" es menor que "<<cade1<<endl;
else if (result==0)
cout<<cade4<<" es igual que "<<cade1<<endl;
else
cout<<cade4<<" es mayor que "<<cade1<<endl;
cout<<result<<endl;
}
Ejem 10
#include <iostream>
using namespace std;
int main()
{
char s[]="Estructura de Datos";
int i; cout<<"Cadena impresa con espacios en blanco entre caracteres: "<<endl;
for (i=0; i<sizeof(s)/sizeof(char); i++)
cout<<s[i]<<" "; cout<<'\0'<<endl;
}
Ejem 11
#include <iostream>
#include <string.h> // para strupr() y strlwr()
#include <stdio.h>
int main()
{
char cade1[40], cade2[40];
cout<<"Ingrese Cadena en minusculas: ";
gets(cade1); strupr(cade1); cout<<"A mayusculas ";
puts(cade1); cout<<endl; cout<<"Ingrese Cadena en Mayusculas ";
gets(cade2); strlwr(cade2); cout<<"A minusculas: ";
puts(cade2);
cout<<endl;
}
Ejem 12
#include <iostream>
#include <string.h>
using namespace std;
const int N=254;
void LeerCadena(char c[])
{ cout<<"\nCual es la cadena"<<endl;
gets(c);
}
LeerCadena(cad);
PalabaBuscar(clave);
q=BuscarPalabra(cad,clave,num);
if(q==true)
NumeroVeces(clave,num);
else
cout<<clave<<" no esta contenida en la cadena"<<endl;
cout<<endl;
}
Ejem 13
#include<iostream>
#include<string.h>
using namespace std;
const int N=80;
//Definicion de las funciones
void LeerCadena(char c[])
{ cout<<endl;
cout<<"Cual es la cadena:";
cin.getline(c,60);
}
Ejem 14
#include <iostream>
using namespace std;
const int MAX=80;
// funciones prototipo
int longcad(char s[]);
int comparacad(char s1[], char s2[]);
void copiacad(char dest[], char orig[]);
int main()
{
char buffer[MAX]; buffer[0]='\0';
cout<<"<1> longcad(buffer)= "<<longcad(buffer)<<endl;
copiacad(buffer,"Algoritmos y Programacion");
cout<<"<2> buffer: "<<buffer<<endl;
cout<<"<3> longcad(buffer) = "<<longcad(buffer)<<endl;
cout<<"<4> comparacad(buffer,Algoritmos y Programacion) = ";
cout<<comparacad(buffer,"Algoritmos y Programacion")<<endl;
cout<<"<5> comparacad(buffer,Programacion) = ";
cout<<comparacad(buffer,"Programacion")<<endl;
}
EJERCICIOS PROPUESTOS
1. Escribir un programa que permita el ingreso de una palabra, para luego verificar si
es una palabra polindroma. Una palabra es polindroma si al leer por la izquierda y
por la derecha es la misma. Ejm. radar, oso, etc.
2. Escribir un programa que acepte como entrada un texto para luego escribir
el número de veces que se repite las letras del abecedario y genere un
gráfico de barra horizontal, para graficar usar el carácter “*”.
3. Para el problema anterior verificar cuantas palabras existen de 1 letra, 2
letra, 3 letras, etc., para posteriormente presentar el grafico de barra
horizontal.
4. En base al problema 2, necesitamos saber el número de veces que se
repite cada palabra, luego presentar el grafico respectivo.
5. Escribir un programa que acepte la entrada de un numero entero positivo,
para luego mostrar el mismo en letras.
6. Escribe un programa en C++ que, al recibir como dato una cadena que
contienen números reales, obtenga la suma y el promedio de dichos
números. Implementar las funciones necesarias y la función main.
7. Dado una cadena cualquiera que está formado por una serie de palabras y
separado por un espacio en blanco. Implementar un programa que
intercambie la palabra que tiene la mayor longitud con la palabra que tiene
menor longitud. Finalmente mostrar la cadena después de haber realizado
esta operación. Asumir que cada palabra tiene longitudes diferentes. No
está permitido el uso de funciones predeterminadas.