Entradas

Ejercicios resueltos, décimo ejercicio.

Imagen
 Realizar un programa que pida los datos de el usuario (alumno) y de tres alumnos mas. Y hacer una estructura que pida: Nombre, edad y promedio de los usuarios, posteriormente comprobar cual de los 3 usuarios tiene mayor nota, he imprimir los datos en pantalla. NOTA: Usar punteros a estructura #include<iostream> #include<conio.h> using namespace std; struct Alumno{ char nombre[30]; int edad; float promedio; }alumno[3], *puntero_alumno = alumno; void pedirDatos(); void comprobarMejorPromedio(Alumno *); int main(){ pedirDatos(); comprobarMejorPromedio(puntero_alumno); getch(); return 0; } void pedirDatos(){ for(int i=0;i<3;i++){ fflush(stdin); //Limpiar buffer para poder seguir digitando datos cout<<"Digite su nombre: "; cin.getline((puntero_alumno+i)->nombre,30,'\n'); cout<<"Digite su edad: "; cin>>(puntero_alumno+i)->edad; cout<<"Digite su promedio: "; cin>>...

Ejercicios resueltos, noveno ejercicio.

Imagen
Crear una estructura que indique el tiempo empleado por un ciclista en recorrer una etapa. La estructura debe tener tres campos: horas, minutos y segundos. Posteriormente indique cual es el tiempo empleado por un ciclista en recorrer una etapa. Y calcule el tiempo total empleado en correr todas las etapas. NOTA: Usar punteros. #include<iostream> #include<conio.h> using namespace std; struct Etapa{ int horas,min,seg; }etapa[3], *puntero_etapa = etapa; void pedirDatos(); void calcularTiempo(Etapa *); int main(){ pedirDatos(); calcularTiempo(puntero_etapa); getch(); return 0; } void pedirDatos(){ cout<<"Digite los tiempos empleados: \n"; for(int i=0;i<3;i++){ cout<<"Horas: "; cin>>(puntero_etapa+i)->horas; cout<<"Minutos: "; cin>>(puntero_etapa+i)->min; cout<<"Segundos: "; cin>>(puntero_etapa+i)->seg; cout<<"\n"; } } void calcularTiempo(...

Ejercicios resueltos, octavo ejercicio.

Imagen
Pedir al usuario N números, y almacenarlos en un arreglo dinámico. Posteriormente ordenar los números en orden ascendente y mostrarlos en pantalla. NOTA: Utilizar cualquier método de ordenamiento.  #include<iostream> #include<conio.h> #include<stdlib.h> using namespace std; //Prototipos de Funciones void pedirDatos(); void ordenarNumeros(int *,int); void mostrarArregloOrdenado(int *,int); int nElementos, *elemento; int main(){ pedirDatos(); ordenarNumeros(elemento,nElementos); mostrarArregloOrdenado(elemento,nElementos); delete[] elemento; getch(); return 0; } void pedirDatos(){//Pedimos los datos al usuario cout<<"Digite el numero de elementos: "; cin>>nElementos; elemento = new int[nElementos]; for(int i=0;i<nElementos;i++){ cout<<"Digite un numero ["<<i<<"]: "; cin>>*(elemento+i); } } void ordenarNumeros(int *elemento,int nElementos){ int aux; //Ordenamiento por...

Ejercicios resueltos, séptimo ejercicio.

Imagen
Pedir su nombre al usuario y devolver el número de vocales que hay.  NOTA: Recuerda que debes utilizar punteros .  #include<iostream> #include<conio.h> #include<string.h> using namespace std; void pedirDatos(); int contarVocales(char *); char nombreUsuario[30]; int main(){ pedirDatos(); cout<<"\nNumero de vocales en el nombre: "<<contarVocales(nombreUsuario); getch(); return 0; } void pedirDatos(){ cout<<"Digite su nombre: "; cin.getline(nombreUsuario,30,'\n'); strupr(nombreUsuario); //Pasar el nombre a mayuscula  } int contarVocales(char *nombre){ int cont = 0; while(*nombre){ //mientras nombre no sea nulo '\0' switch(*nombre){ case 'A':  case 'E': case 'I': case 'O': case 'U': cont++; } nombre++; } return cont; }

Ejercicios resueltos, sexto ejercicio.

Imagen
Pedir una cadena de caracteres (string) al usuario, e indicar cuantas  veces aparece la vocal a,e,i,o,u; en la cadena de caracteres. NOTA: Usar punteros #include<iostream> #include<conio.h> #include<string.h> using namespace std; void pedirDatos(); void contarVocales(char *); char palabraUsuario[30]; int main(){ pedirDatos(); contarVocales(palabraUsuario);//Llamada a la funcion para contar vocales del nombre getch(); return 0; } void pedirDatos(){ cout<<"Digite una palabra: "; cin.getline(palabraUsuario,30,'\n'); strupr(palabraUsuario); //pasar el nombre a mayuscula }

Ejercicios resueltos, quinto ejercicio.

Imagen
  Hacer una función para almacenar N números en un arreglo dinámico, posteriormente en otra función buscar un número en particular. NOTA: Puedes utilizar cualquier método de búsqueda(Secuencial o Binaria). #include<iostream> #include<conio.h> #include<stdlib.h> using namespace std; void pedirDatos(); void busqueda(int *,int); int nElementos, *elemento; int main(){ pedirDatos(); busqueda(elemento,nElementos); delete[] elemento; //Liberar memoria utilizada en el arreglo getch(); return 0; } void pedirDatos(){ cout<<"Digite el numero de elementos del arreglo: "; cin>>nElementos; elemento = new int[nElementos]; //Crear el arreglo for(int i=0;i<nElementos;i++){//Pedir datos al usuario para el arreglo cout<<"Digite un numero["<<i<<"]: "; cin>>*(elemento+i); } } void busqueda(int *elemento,int nElementos){ int dato,i; bool band=false; cout<<"\nDigite el numer...

Ejercicios resueltos, cuarto ejercicio.

Imagen
Determinar si un número es primo o no; con puteros y además indicar en que posición de memoria se guardo el número. #include<iostream> #include<conio.h> using namespace std; int main(){ int numero,*dir_num,cont=0; cout<<"Digite un numero: "; //Pedimos y guardamos el numero cin>>numero; dir_num = &numero; //Almacenamos su direccion //Determinamos si es primo o no for(int i=1;i<*dir_num;i++){ if(*dir_num%i == 0){ cont++; } } if(cont>2){ cout<<"El numero "<<*dir_num<<" NO es primo"<<endl; } else{ cout<<"El numero "<<*dir_num<<" ES PRIMO"<<endl; cout<<"Direccion: "<<dir_num<<endl; //Mostramos su direccion en memoria } getch(); return 0; }