Está en la página 1de 22

SEMANA 3.

1
EJERCICIOS 1:
Escribir un programa que lea una serie de cadenas de caracteres, e imprima las cadenas que
empiezan con la letra ‘b’.
E:
Entrada de datos:
Cadenas arbitrarias

Salida de datos:
Cadenas que empiecen con B
A:
[introducir palabras]=imprimir palabras con B
SE usa cout cin
M:
I:
#include <iostream>
using namespace std;

int main()
{
char texto[40];

cout << "Introduce palabras ";

cin >> texto;


cout << "comienzan con B " << texto << endl;
cout << "Introduce palabras ";

cin >> texto;


cout << "comienzan con B " << texto << endl;
cout << "Introduce palabras ";

cin >> texto;


cout << "comienzan con B " << texto << endl;
cout << "Introduce palabras ";

cin >> texto;


cout << "comienzan con B " << texto << endl;

return 0;
}
EJERCICIO:2
Escribir un programa que lea una serie de cadenas de caracteres, e imprima solo aquellas
cadenas que terminan con las letras "ón".
E:
Entrada de datos :
Cadena arbitraria de palabras
Salida de datos:
Palabras terminadas en ón
A:
Palabras que engloben [40] como parametro y condición

M
I
#include <iostream>
using namespace std;

int main()
{
char texto[40];

cout << "Introduce palabras ";

cin >> texto;


cout << "termina en ón " << texto << endl;
cout << "Introduce palabras ";

cin >> texto;


cout << "termina en ón " << texto << endl;
cout << "Introduce palabras ";

cin >> texto;


cout << "termina en ón " << texto << endl;
cout << "Introduce palabras ";
cin >> texto;
cout << "termina en ón " << texto << endl;

return 0;
}

EJERCICIOS:3
Escribir un programa que introduzca n cadenas que representen valores enteros, las convierta
a enteros, sume esos valores enteros, e imprima el total de los n valores.
E
Entrada de datos:
Cadena de números enteros
Salida de datos:
Sume valores e imprima
A
[introducir numero]=valores enteros
M
I
#include <iostream>
#include <cstdlib>

using namespace std;

int main ()
{

string numero;

cout << "¿cual es el numero?" << endl;


cin >> numero;

cout << "Tu numero es " << atoi(numero.c_str())+2;


return 0;
}
EJERCICIO:4
4) Escribir un programa que introduzca n cadenas que representen valores en punto flotante,
las convierta a valores double, sume esos valores, e imprima el total de los n valores.
E:Datos de Entrada: Cadenas que ingrese el usuario.
Datos de Salida: Convierta a valores double, sume esos valores, e imprima el total de los
n valores.

A: while
if
char* ptr = 0;
int ptrSize = 0;

M: #include "stdio.h"
#include "stdlib.h"
#include "ctype.h"

int main()
{
printf("Introduce una cadena:\n");
char* ptr = 0;
int ptrSize = 0;
while( 1 )
{

ptr = (char*)realloc(ptr,ptrSize + 1);


int c = getchar();
if( c == EOF )
{

ptr[ptrSize] = 0;

break;
}
ptr[ptrSize] = (char)c;
ptrSize++;
}

printf("Cadena introducida:\n%s",ptr);
free(ptr);
}
printf("Cadena introducida:\n%s",ptr);
free(ptr);
}
I:
EJERCICIO:5
5) Escribir un programa que introduzca una cadena de caracteres llamada TEXTO, para
calcular la frecuencia relativa de cada letra del alfabeto inglés en la cadena. Luego imprimir
la cadena y una tabla con cada letra y su frecuencia.
E: Datos de Entrada: Cadena ingresada por el usuario.
Datos de Salida: Calcular la frecuencia relativa de cada letra del alfabeto inglés en la
cadena.

A:
For
char fr1[100];
switch
M: #include<iostream>
#include<conio.h>
#include<string.h>

using namespace std;


int main(){
char fr1[100];
int conteoa=0, conteoe=0, conteoi=0, conteoo=0, conteou=0;
cout<<"\nDigite la frase: "<<endl;
cin.getline(fr1,30,'\n');
strlwr(fr1);
for(int i = 0; i<30; i++){
switch(fr1[i]){
case 'a': conteoa++;break;
case 'e': conteoe++;break;
case 'i': conteoi++;break;
case 'o': conteoo++;break;
case 'u': conteou++;break;
}
}
cout<<"\nLa cantidad de 'a' en la frase es: "<<conteoa<<endl;
cout<<"\nLa cantidad de 'e' en la frase es: "<<conteoe<<endl;
cout<<"\nLa cantidad de 'i' en la frase es: "<<conteoi<<endl;
cout<<"\nLa cantidad de 'o' en la frase es: "<<conteoo<<endl;
cout<<"\nLa cantidad de 'u' en la frase es: "<<conteou<<endl;
getch();
return 0;
}
I:

Ejercicio 6
E:
• Un programa que introduzca varias líneas de texto, para determinar todas las
ocurrencias de cada letra del alfabeto inglés en las líneas de texto.
A:

• Crear un programa que como entrada introduzca líneas de texto y como salida cuente
las letras mayúsculas y minúsculas.
M:

I:
#include<iostream>
#include<conio.h>
#include<string.h>

using namespace std;


int main (){
char frase[30];
int vocal_a=0,vocal_e=0,vocal_i=0,vocal_o=0,vocal_u=0;
cout<<"digite una frase: ";
cin.getline(frase,30,'\n');

for(int i=0;i<30;i++){
switch(frase[i]){
case 'a': vocal_a++; break;
case 'e': vocal_e++; break;
case 'i': vocal_i++; break;
case 'o': vocal_o++; break;
case 'u': vocal_u++; break;
}
}

cout<<"vocal a: "<<vocal_a<<endl;
cout<<"vocal e: "<<vocal_e<<endl;
cout<<"vocal i: "<<vocal_i<<endl;
cout<<"vocal o: "<<vocal_o<<endl;
cout<<"vocal u: "<<vocal_u<<endl;

getch();
return 0;
}
EJERCICIOS:7
Escribir un programa que introduzca varias líneas de texto y un caracter de búsqueda, para
determinar todas las ocurrencias del caracter en las líneas de texto. Utilizar la función
strchr().
E:
Entrada de datos:
Cualquier tipo de cadena
Salida de datos:
Imprime cadena escrita (todo tipo de palabras u oración)
A:
Cadena =[-60]{cadena que englobe esa condición

M:
I:
#include <stdio.h>
#include <string.h>

int main ()
{
char line[60] = "Universidad de las fuerzas Armadas ,ESPE.";
int i;
int bsd = 0;
printf("\n\n");
printf("La linea de texto sera: %s\n", line);
printf("El caracter a ser buscado en la cadena sera -> a");
printf("\n\n");
for(i = 0; i < 60; i++)
{
switch (line[i])
{
case 'a': bsd++; break;
}
}
printf("El caracter 'a' ha sido encontrado %i veces", bsd++);
return 0;

EJERCICIOS:8
Escribir un programa que tenga dos funciones para comparar dos cadenas introducidas por el
usuario. La primera función utiliza la función estándar strcmp(), que recibe las cadenas, y la
segunda utiliza la función estándar strcmp(), que debe recibir a más de las cadenas el número
de caracteres a compararse. El programa deberá introducir las cadenas e indicar si la primera
cadena es menor que, igual que o mayor que la segunda cadena.
E:
Entrada de datos:
Dos funciones para comparar entre cadenas
Salida de datos:
Determina cual es mayor o menor en extensión
A:
Cadena1→cadena2
Respectiva comparación
Iguales=no iguales

M:
I:
#include <iostream>
#include <cstring>

using namespace std;

int main () {

string mars=" ";


int c=0;
char cadena1[] = "conejo";
char cadena2[] = "conejito";

cout << "La cadena uno se llama: " << cadena1;


cout << "La cadena dos se llama: " << cadena2;
cout<<"cadena1,cadena2 "<<endl;

cout << "Comparando cadena 1 con respecto a cadena 2, es igual a: " <<
strcmp(cadena1, cadena2);
cout << "Comparando cadena 2 con respecto a cadena 1, es igual a: " <<
strcmp(cadena2, cadena1);

getline(cin >> ws,mars);

for(int i=0;i<mars.length();i++){
if((mars[i]!=' ' && mars[i+1]!=' ')){
c=c+1;

cout<< "hay "<<c<<" palabras "<<endl;


return 0;
}
}
}

EJERCICIOS:9
Diseñar un programa el cual tenga una función que acepte como parámetro una cadena
arbitraria de caracteres y que determine si se trata de una cadena palíndromo o no. Un
palíndromo es una cadena de caracteres que se lee igual hacia adelante que hacia atrás,
considerando que en los textos más complejos se ignoran los espacios y los signos de
puntuación. Por ejemplo, las siguientes cadenas son palíndromos: "OSO" y "Ana ama mamá
Ana".
El programa debe ingresar varias cadenas dinámicamente, para determinar cuáles son
cadenas palíndromas
E:
Entrada de datos:
Cadena arbitraria de caracteres
Salidas de datos:
Imprimir en pantalla, si es palíndromo o no es palíndromo

A:
Si palíndromo=no palíndromo
Cadenas=escritura al revés igual
Condición= [se define]
M:
I:

#include <stdio.h>
#include <string.h>
int main()
{
char palabra[20];
int i, j;
int palindromo = 1;
printf("Escriba una cadena en minusculas y sin espacios : ");
fflush(stdout);
gets(palabra);
j=strlen(palabra)-1;
for(i=0; i<strlen(palabra)/2; i++, j--) {
printf("Comprobando %c==%c\n", *(palabra+i), *(palabra+j));
if (*(palabra+i)!=*(palabra+j)) {
palindromo = 0;
break;
}
}
if (palindromo)
printf("\nEs un palindrimo.\n");
else
printf("\nNo es un palindrimo.\n");
return (0);
}

EJERCICIO:10
En un programa diseñar una función que acepte como parámetro una cadena de caracteres
arbitrarias y regrese al programa principal una cadena que solo contenga los caracteres
alfabéticos de la cadena original. Todos los espacios en blanco, signos de puntuación,
números y caracteres esp
E:
Entrada de datos:
Cadena arbitraria
Salida de datos:
Imprime las condiciones de solo letras del alfabeto si,no,no solo hay letras
A:
Define:[ tiene únicamente del alfabeto ]→cadenas que cumplan con el parámetro
[NO tiene únicamente letras del alfabeto] ]→cadenas que cumplan con el parámetro

M:

I:
#include <stdio.h>
#include <ctype.h>

int tieneUnicamenteLetrasDelAlfabeto(char cadena[]) {


int i = 0;
while (cadena[i]) {

if (
!isalpha(cadena[i])
&& cadena[i] != ' '
)
return 0;
i++;
}
return 1;
}

int main() {

char cadena1[] = "Universidad de las fuerzas Armadas ESPE";


if (tieneUnicamenteLetrasDelAlfabeto(cadena1)) {
printf("'%s' tiene únicamente del alfabeto\n", cadena1);
} else {
printf("'%s' NO tiene únicamente letras del alfabeto\n", cadena1);
}

char cadena2[] = "Un año tiene 12 meses";


if (tieneUnicamenteLetrasDelAlfabeto(cadena2)) {
printf("'%s' tiene únicamente del alfabeto\n", cadena2);
} else {
printf("'%s' NO tiene únicamente letras del alfabeto\n", cadena2);
}

char cadena3[] = "fotografia_de_las_grandesciudades.ec";

int resultado = tieneUnicamenteLetrasDelAlfabeto(cadena3);


if (resultado) {
printf("'%s' tiene únicamente letras del alfabeto\n", cadena3);
} else {
printf("'%s' NO tiene únicamente letras del alfabeto\n", cadena3);
}
return 0;
}

También podría gustarte