Documente Academic
Documente Profesional
Documente Cultură
1. Crea una variable en la que puedas guardar un texto de hasta 50 caracteres. Pide al usuario su nombre y apellidos
y guárdalos en esa variable
Crea un grupo 4 de variables como la anterior contiguas en memoria de la pila y pide al usuario su contenido
Crea una variable de tipo string y pide al usuario su nombre y apellidos
Muestra por pantalla la cantidad de espacios que contiene el dato tecleado
Solución:
char nombre [ 5 1 ] ;
c i n . g e t l i n e ( nombre , 5 1 ) ;
char nombres [ 4 ] [ 5 1 ] ;
for ( i nt n=0; n<4;n++){
c i n . g e t l i n e ( nombres [ n ] , 5 1 ) ;
}
string s ;
g e t l i n e ( cin , s ) ;
i nt e s p a c i o s =0;
for ( i nt n= 0 ; n< s . s i z e ( ) ; n++){
e s p a c i o s += s . a t ( n)== ’ ’ ? 1 : 0 ;
}
co ut << e s p a c i o s << ” e s p a c i o s ”<<e n d l ;
2. Crea un array de dos punteros a una funcion void que recibe un entero.
Crea una función que muestre por pantalla el entero que recibe
Crea otra que muestre por pantalla el doble del entero que recibe
Carga el array con ambas funciones y recórrelo ejecutándolas con el número 23 como parámetro
Solución:
void f 1 ( i nt n ) {
co ut << n<<e n d l ;
}
void f 2 ( i nt n ) {
co ut << n∗2<<e n d l ;
}
void ( ∗ f u n c i o n e s [ 2 ] ) ( i nt n ) ;
funciones [0]= f1 ;
funciones [1]= f2 ;
for ( i nt n=0; n<2;n++){
funciones [ n ] ( 2 3 ) ;
}
3. Crea una función que pida un entero al usuario y que devuelva un puntero al mismo
Solución:
i nt ∗ p i d e E n t e r o ( ) {
i nt ∗n = new i nt ( ) ;
Página 1 de 4
Ejercicios básicos II.
co ut << ” Va lo r : ” ;
c i n >> ∗n ;
return n ;
}
Solución:
struct Punto {
i nt x ;
i nt y ;
void operator ! ( ) {
cout<< x << ” , ” << y ;
}
};
i nt operator %(i nt n , Punto &p ) {
return ( p . x+p . y ) ∗ n ;
}
5. Crea una clase Empresario, con un id de tipo int y un método trabajar.Agrega un constructor parametrizado.
Crea dos tipos de Empresario: -Carpintero, que en el metodo trabajar heredado muestre su id y la frase Çlavando
puntasElectricista, que en el método heredado heredado muestre su id y la frase ”Pelando cables”
Crea un array de 2 punteros a Empresarios, y llénalo con las direcciones de un Empresario de cada tipo.
Recorre el array para hacer que todos trabajen.
Solución:
c l a s s E mpr esa r io {
public :
E mpr esa r io ( i nt i d ) ;
i nt i d ;
v i r t u a l void t r a b a j a r ( ) = 0 ;
};
E mpr esa r io : : E mpr esa r io ( i nt i d ) : i d ( i d ) { }
Página 2 de 4
Ejercicios básicos II.
6. Crea una clase Benito, que sea Electricista y Carpintero al mismo tiempo.
Haz que, al trabajar, muestre el mensaje de cada una de sus profesiones y agregue la frase çomo si fuese dificil”
Solución:
c l a s s B e n i t o : v i r t u a l public E l e c t r i c i s t a , public C a r p i n t e r o {
public :
B e n i t o ( i nt n ) : E l e c t r i c i s t a ( n ) , C a r p i n t e r o ( n ) {
}
void t r a b a j a r ( ) {
Electricis ta : : trabajar ( ) ;
Carpintero : : trabajar ( ) ;
co ut << ”como s i f u e s e d i f i c i l ” ;
}
};
7. Crea tres secuencias de punteros a Empresario, una list, un vector y una deque
Agrega 3 empresarios al principio de la list
Agrega 3 empresarios al final del vector
Agrega 5 por cada extremo de la deque
Recorrelos mediante iteradores, mostrando su id
Solución:
Página 3 de 4
Ejercicios básicos II.
l . push f r o n t (new C a r p i n t e r o ( 2 ) ) ;
l . push f r o n t (new C a r p i n t e r o ( 2 ) ) ;
l . push f r o n t (new C a r p i n t e r o ( 2 ) ) ;
v . push ba ck (new E l e c t r i c i s t a ( 4 ) ) ;
v . push ba ck (new E l e c t r i c i s t a ( 4 ) ) ;
v . push ba ck (new E l e c t r i c i s t a ( 4 ) ) ;
d . push ba ck (new C a r p i n t e r o ( 4 ) ) ;
d . push ba ck (new C a r p i n t e r o ( 4 ) ) ;
d . push ba ck (new C a r p i n t e r o ( 4 ) ) ;
d . push f r o n t (new C a r p i n t e r o ( 3 ) ) ;
d . push f r o n t (new C a r p i n t e r o ( 6 ) ) ;
d . push f r o n t (new C a r p i n t e r o ( 7 ) ) ;
Página 4 de 4