SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
w w w . f i s i c a e i n g e n i e r i a . e s w w w . c a l c u l a d o r a s o n l i n e s . e s
2012
Problemas resueltos de
programación en C++
www.fisicaeingenieria.es
Luis Muñoz Mato
www.fisicaeingenieria.es
1.- Escribir un programa que haga el producto de dos matrices 3x3. El programa debe
incluir un procedimiento que lea las matrices, una función que haga el producto y
otro procedimiento que escriba el resultado:
SOLUCIÓN
#include <cstdlib>
#include <iostream>
using namespace std;
void leermatriz (float m[3][3])
{
int i,j;
for (i=1;i<=3;i++)
{
for (j=1;j<=3;j++)
{
cout<<"introducir el elemento "<<i<<","<<j<<endl;
cin>>m[i][j];
}
}
}
void producto_matrices (float a [3][3],float b[3][3],float p[3][3])
{
int i,j,k;
for (i=1;i<=3;i++)
{
p[i][j]=0;
for (j=1;j<=3;j++)
{
p[i][j]=p[i][j]+a[i][k]*b[k][j];
}
}
}
void escribir_matriz (float m[3][3])
{
int i,j;
for (i=1;i<=3;i++)
{
for (j=1;j<=3;j++)
{
cout<<m[i][j]<<" ";
}
cout<<endl;
}
}
int main()
{
float a[3][3];
leermatriz (a);
leermatriz (b);
producto_matrices (a,b,p);
escribir_matriz (p);
system("PAUSE");
return EXIT_SUCCESS;
}
2.- Dadas las coordenadas tridimensionales de tres puntos, debe construirse un
programa que haga el perímetro del triángulo que forman. El programa debe incluir
una función para leer las coordenadas de los puntos y una función que haga el
perímetro:
SOLUCIÓN
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
void leer_cordenadas (float p[3])
{
int i;
for (i=1;i<=3;i++)
{
cout<<"coordenada"<<i<<":";
cin>>p[i];
}
}
float distancia (float p1[3],float p2[3])
{
float dist;
dist=sqrt((p1[1]-p2[1])*(p1[1]-p2[1])+(p1[2]-p2[2])*(p1[2]-p2[2])+(p1[3]-
p2[3])*(p1[3]-p2[3]));
return (dist);
}
int main(int argc, char *argv[])
{
float A[3],B[3],C[3];
float perimetro;
leer_cordenadas (A);
leer_cordenadas (B);
leer_cordenadas (C);
perimetro=distancia (A,B)+distancia (B,C)+distancia (C,A);
cout<<"El perimetro es:"<<perimetro<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
3.- Escribir un programa que haga una serie de Taylor de la función seno, sabiendo
que la función seno desarrollada en serie de Taylor tiene la forma
( ) ( )
( )
2 1
0
sin 1
2 1 !
nn
n
i
x
x
n
+
=
= −
+
∑
SOLUCIÓN
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int factorial (int n)
{
int fact,i;
fact=1;
for (i=1;i<=n;i++)
{
fact=fact*i;
}
return (fact);
}
int main()
{
float x;
float suma;
int i;
cout<<"x:";
cin>>x;
suma=0.0;
for (i=0;i<=100;i++)
{
suma=suma+pow(float (-1.0),float(i))*pow(x,float((2*i)+1))/factorial (2*i+1);
}
cout <<"el valor de la serie es:"<<suma;
system("PAUSE");
return EXIT_SUCCESS;
}
4.- Pasar un número a hexadecimal
Solución
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int numero;
int cifras [32];
int i,j;
cout<<"Numero:";
cin>>numero;
i=1;
while (numero>=16)
{
cifras [i]=numero%16;
numero=numero/16;
i++;
}
cifras [i]=numero;
for (j=i;j>=1;j--)
{
cout<<cifras[j]<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
5.- Escribir un programa que dados tres números que representan 3 longitudes nos
diga si existe y un triángulo que tenga esas dimensiones ( Para que haya un triángulo
que tenga esas dimensiones, la suma de cualesquiera dos lados tiene que ser mayor
que el tercer lado)
SOLUCIÓN
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float a,b,c;
bool d;
cout<<"lado a:";
cin>>a;
cout<<"lado b:";
cin>>b;
cout<<"lado c:";
cin>>c;
if (a+b>c && a+c>b && b+c>a)
{
cout<<"el triangulo existe"<<endl;
d=true;
}
else
{
cout<<"El triangulo no existe"<<endl;
d=false;
}
if (d==true)
{
if (a==b && b==c)
{
cout<<"el triangulo es equilatero"<<endl;
}
else if (a!=b && b!=c &&a!=c)
{
cout<<"El triangulo es escaleno"<<endl;
}
else
{
cout<<"el triangulo es isosceles"<<endl;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
6.- Escribir un programa que me de el máximo común divisor de dos números
SOLUCIÓN
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int a,b,i;
cout<<"numero mayor:"<<endl;
cin>>a;
cout<<"numero menor:"<<endl;
cin>>b;
for (i=b;i>=1;i--)
{
if (a%i==0 && b%i==0)
{
cout<<"El maximo comun divisor es:"<<i<<endl;
break;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
7.- Escribir un programa que me de el máximo y el mínimo de un vector introducido
por el usuario por teclado. El programa debe incluir un procedimiento para leer el
vector y otro para el máximo y mínimo de un vector.
SOLUCIÓN
#include <cstdlib>
#include <iostream>
using namespace std;
void leer_vector (int n,float v[])
{
int i;
for (i=1;i<=n;i++)
{
cout<<"Componente "<<i<<endl;
cin>>v[i];
}
}
float maximo (int n,float v[])
{
int i;
float max;
max=v[1];
for (i=1;i<=n;i++)
{
if (v[i]>max)
{
max=v[i];
}
}
return (max);
}
float minimo (int n,float v[])
{
int i;
float min;
min=v[1];
for (i=1;i<=n;i++)
{
if (v[i]<min)
{
min=v[i];
}
}
return (min);
}
int main()
{
int n;
cout<<"numero de componentes:"<<endl;
cin>>n;
float v[n];
leer_vector (n,v);
cout<<"el maximo es:"<<maximo (n,v)<<" el minimo es:"<<minimo (n,v)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
8.- Hacer un programa que cambie de unidades usando un switch case en concreto,
el usuario le proporcionará una longitud y la unidad en la que está medida
(centímetros, kilómetros, o pulgadas) y el programa pasará la cantidad introducida a
metros
SOLUCIÓN
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float l,resultado;
int opcion;
cout<<"Longitud:"<<endl;
cin>>l;
cout<<"Unidad:1.-cm 2.- pulgadas 3.- km"<<endl,
cin>>opcion;
switch (opcion)
{
case 1:
resultado=l/100;
cout<<"La longitud en metros es:"<<resultado<<endl;
break;
case 2:
resultado=l/254;
cout<<"La longitud en metros es:"<<resultado<<endl;
break;
case 3:
resultado=l*1000;
cout<<"La longitud en metros es:"<<resultado<<endl;
break;
default:
cout<<"ERROR"<<endl;
break;
}
system("PAUSE");
return EXIT_SUCCESS;
}
9.- Hacer una función que reciba un número entero y que devuelva el mismo número
convertido en entero largo
SOLUCIÓN
#include <cstdlib>
#include <iostream>
using namespace std;
long int transformar (int n)
{
return (n);
}
int main()
{
system("PAUSE");
return EXIT_SUCCESS;
}
10.- Escribir una función que calcule el producto de la primera y de la última cifra de
un número entero:
SOLUCIÓN
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int numero,a,b,producto;
cout<<"Numero:"<<endl;
cin>>numero;
a=numero%10;
while (numero>10)
{
numero=numero/10;
}
b=numero;
producto=a*b;
cout<<"el resultado de multiplicar la primera por la ultima es:"<<producto<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
11.- Escribir un programa que dado un número decimal introducido por el usuario, lo
convierta en un número binario y lo almacene en un vector de enteros de 32 bits
SOLUCIÓN
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char *argv[])
{
bool a;
int i,suma,j;
int v[32],cifras [100];
for (i=31;i>=0;i--)
{
cout<<"componente "<<i<<endl;
cin>>v[i];
}
suma=0;
for (i=0;i<=31;i++)
{
suma=suma+v[i]*pow (2.0,double (i));
}
cout<<"El numero en decimal es:"<<suma<<endl;
j=1;
while (suma>10)
{
cifras [j]=suma%10;
j++;
suma=suma/10;
}
cifras [j]=suma;
for (i=1;i<=j;i++)
{
cout<<cifras [i]<<endl;
}
for (i=1;i<=j;i++)
{
if (cifras [i]==cifras [j+1-i])
{
a=true;
continue;
}
else
{
a=false;
cout<<"Numero no capicua"<<endl;
break;
}
}
if (a==true)
{
cout<<"Numero capicua"<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
12.- Escribir un programa que dado un número binario (almacenado en un vector de
32 bits) lo convierta en un número entero y me diga si el número obtenido es
capicúa.
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char *argv[])
{
bool a;
int i,suma,j;
int v[32],cifras [100];
for (i=31;i>=0;i--)
{
cout<<"componente "<<i<<endl;
cin>>v[i];
}
suma=0;
for (i=0;i<=31;i++)
{
suma=suma+v[i]*pow (2.0,double (i));
}
cout<<"El numero en decimal es:"<<suma<<endl;
j=1;
while (suma>10)
{
cifras [j]=suma%10;
j++;
suma=suma/10;
}
cifras [j]=suma;
for (i=1;i<=j;i++)
{
cout<<cifras [i]<<endl;
}
for (i=1;i<=j;i++)
{
if (cifras [i]==cifras [j+1-i])
{
a=true;
continue;
}
else
{
a=false;
cout<<"Numero no capicua"<<endl;
break;
}
}
if (a==true)
{
cout<<"Numero capicua"<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
13.- Implementar un programa que me pregunte la dimensión de un a matriz y la
opción a escoger: 1.- todos 1, 2.- todos 0 3.- todos las diagonales 1) y me imprima la
matriz seleccionada
SOLUCIÓN
#include <cstdlib>
#include <iostream>
using namespace std;
void matriz_cero (int t, int m[10][10])
{
int i,j;
for (i=1;i<=t;i++)
{
for (j=1;j<=t;j++)
{
m[i][j]=0;
}
}
}
void matriz_uno (int t, int m[10][10])
{
int i,j;
for (i=1;i<=t;i++)
{
for (j=1;j<=t;j++)
{
m[i][j]=1;
}
}
}
void matriz_diagonal (int t, int m[10][10])
{
int i,j;
for (i=1;i<=t;i++)
{
for (j=1;j<=t;j++)
{
if (i==j)
{
m[i][j]=1;
}
else if ((i+j)==(t+1))
{
m[i][j]=1;
}
else
{
m[i][j]=0;
}
}
}
}
void imprimir (int t,int m[10][10])
{
int i,j;
for (i=1;i<=t;i++)
{
for (j=1;j<=t;j++)
{
cout<<m[i][j]<<" ";
}
cout<<endl;
}
}
int main()
{
int t,opcion;
cout<<"Tamano:"<<endl;
cin>>t;
int m[10][10];
cout<<"tipo de matriz: 1.- Todos 1 2.- Todos 0 3.- Diagonal"<<endl;
cin>>opcion;
switch (opcion)
{
case 1:
matriz_uno(t,m);
imprimir (t,m);
break;
case 2:
matriz_cero(t,m);
imprimir (t,m);
break;
case 3:
matriz_diagonal (t,m);
imprimir (t,m);
break;
default:
break;
}
system("PAUSE");
return EXIT_SUCCESS;
}

Mais conteúdo relacionado

Mais procurados

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Ana Castro
 
Ejercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioEjercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioJesica Pérez
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Recursividad
RecursividadRecursividad
Recursividadbetzy
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Vikky Moscoso
 
GENERALIDADES SOBRE LOS ALGORITMOS
GENERALIDADES SOBRE LOS ALGORITMOS GENERALIDADES SOBRE LOS ALGORITMOS
GENERALIDADES SOBRE LOS ALGORITMOS Edwin Vega Orozco
 
Estructuras de datos osvaldo cairo
Estructuras de datos   osvaldo cairoEstructuras de datos   osvaldo cairo
Estructuras de datos osvaldo cairoYossLu Molina
 
Tutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasTutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasMichele André
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosJosé Antonio Sandoval Acosta
 
Practicas prolog
Practicas prologPracticas prolog
Practicas prologmaxsp5566
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Alex Penso Romero
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en CAbraham
 

Mais procurados (20)

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 
Clase 1 Lenguaje C++
Clase 1 Lenguaje C++Clase 1 Lenguaje C++
Clase 1 Lenguaje C++
 
Ejercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioEjercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolio
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
GENERALIDADES SOBRE LOS ALGORITMOS
GENERALIDADES SOBRE LOS ALGORITMOS GENERALIDADES SOBRE LOS ALGORITMOS
GENERALIDADES SOBRE LOS ALGORITMOS
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Estructuras de datos osvaldo cairo
Estructuras de datos   osvaldo cairoEstructuras de datos   osvaldo cairo
Estructuras de datos osvaldo cairo
 
Tutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasTutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicas
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivos
 
Practicas prolog
Practicas prologPracticas prolog
Practicas prolog
 
Programa de Pila Estática
Programa de Pila EstáticaPrograma de Pila Estática
Programa de Pila Estática
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en C
 
Estructura secuencial
Estructura secuencialEstructura secuencial
Estructura secuencial
 

Semelhante a Problemas resueltos C

Semelhante a Problemas resueltos C (20)

Tra 130315111309-phpapp02
Tra 130315111309-phpapp02Tra 130315111309-phpapp02
Tra 130315111309-phpapp02
 
Jorge informe tecnico
Jorge informe tecnicoJorge informe tecnico
Jorge informe tecnico
 
Corridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosCorridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizados
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
Programacion 55
Programacion 55Programacion 55
Programacion 55
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Tra
TraTra
Tra
 
Ejerciciosprogramacion
EjerciciosprogramacionEjerciciosprogramacion
Ejerciciosprogramacion
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
Programacion
ProgramacionProgramacion
Programacion
 
Franklincuñas
Franklincuñas  Franklincuñas
Franklincuñas
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
G++
G++G++
G++
 
Blog
BlogBlog
Blog
 
Codificaciones c++2011
Codificaciones c++2011Codificaciones c++2011
Codificaciones c++2011
 
Codificaciones c++2011
Codificaciones c++2011Codificaciones c++2011
Codificaciones c++2011
 
Informe 2 da unidad lp
Informe 2 da unidad lpInforme 2 da unidad lp
Informe 2 da unidad lp
 
Blog
BlogBlog
Blog
 
Algoritmos en c++
Algoritmos en c++Algoritmos en c++
Algoritmos en c++
 

Mais de johnny herrera

Presentación de johnny herrera
Presentación de johnny herreraPresentación de johnny herrera
Presentación de johnny herrerajohnny herrera
 
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900johnny herrera
 
Desarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parteDesarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-partejohnny herrera
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetosjohnny herrera
 
13 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-113 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-1johnny herrera
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .netjohnny herrera
 
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0johnny herrera
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetosjohnny herrera
 
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes AguilarProgramacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilarjohnny herrera
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 johnny herrera
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60johnny herrera
 
Matematica universitaria
Matematica universitariaMatematica universitaria
Matematica universitariajohnny herrera
 

Mais de johnny herrera (20)

Presentación de johnny herrera
Presentación de johnny herreraPresentación de johnny herrera
Presentación de johnny herrera
 
Tiristores
TiristoresTiristores
Tiristores
 
Programacion o.o.
Programacion o.o.Programacion o.o.
Programacion o.o.
 
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
 
Desarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parteDesarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parte
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
 
13 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-113 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-1
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .net
 
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes AguilarProgramacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Tutorial de Visual
Tutorial de  VisualTutorial de  Visual
Tutorial de Visual
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60
 
Modulo Derivadas
Modulo DerivadasModulo Derivadas
Modulo Derivadas
 
Matematica 1 usb
Matematica 1 usbMatematica 1 usb
Matematica 1 usb
 
Matematica universitaria
Matematica universitariaMatematica universitaria
Matematica universitaria
 
Matematica1 usb
Matematica1 usbMatematica1 usb
Matematica1 usb
 

Último

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 

Último (20)

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 

Problemas resueltos C

  • 1. w w w . f i s i c a e i n g e n i e r i a . e s w w w . c a l c u l a d o r a s o n l i n e s . e s 2012 Problemas resueltos de programación en C++ www.fisicaeingenieria.es Luis Muñoz Mato www.fisicaeingenieria.es
  • 2. 1.- Escribir un programa que haga el producto de dos matrices 3x3. El programa debe incluir un procedimiento que lea las matrices, una función que haga el producto y otro procedimiento que escriba el resultado: SOLUCIÓN #include <cstdlib> #include <iostream> using namespace std; void leermatriz (float m[3][3]) { int i,j; for (i=1;i<=3;i++) { for (j=1;j<=3;j++) { cout<<"introducir el elemento "<<i<<","<<j<<endl; cin>>m[i][j]; } } } void producto_matrices (float a [3][3],float b[3][3],float p[3][3]) { int i,j,k; for (i=1;i<=3;i++) { p[i][j]=0; for (j=1;j<=3;j++) { p[i][j]=p[i][j]+a[i][k]*b[k][j]; } } } void escribir_matriz (float m[3][3]) { int i,j; for (i=1;i<=3;i++) { for (j=1;j<=3;j++) { cout<<m[i][j]<<" "; } cout<<endl;
  • 3. } } int main() { float a[3][3]; leermatriz (a); leermatriz (b); producto_matrices (a,b,p); escribir_matriz (p); system("PAUSE"); return EXIT_SUCCESS; }
  • 4. 2.- Dadas las coordenadas tridimensionales de tres puntos, debe construirse un programa que haga el perímetro del triángulo que forman. El programa debe incluir una función para leer las coordenadas de los puntos y una función que haga el perímetro: SOLUCIÓN #include <cstdlib> #include <iostream> #include <cmath> using namespace std; void leer_cordenadas (float p[3]) { int i; for (i=1;i<=3;i++) { cout<<"coordenada"<<i<<":"; cin>>p[i]; } } float distancia (float p1[3],float p2[3]) { float dist; dist=sqrt((p1[1]-p2[1])*(p1[1]-p2[1])+(p1[2]-p2[2])*(p1[2]-p2[2])+(p1[3]- p2[3])*(p1[3]-p2[3])); return (dist); } int main(int argc, char *argv[]) { float A[3],B[3],C[3]; float perimetro; leer_cordenadas (A); leer_cordenadas (B); leer_cordenadas (C); perimetro=distancia (A,B)+distancia (B,C)+distancia (C,A); cout<<"El perimetro es:"<<perimetro<<endl; system("PAUSE"); return EXIT_SUCCESS; }
  • 5. 3.- Escribir un programa que haga una serie de Taylor de la función seno, sabiendo que la función seno desarrollada en serie de Taylor tiene la forma ( ) ( ) ( ) 2 1 0 sin 1 2 1 ! nn n i x x n + = = − + ∑ SOLUCIÓN #include <cstdlib> #include <iostream> #include <cmath> using namespace std; int factorial (int n) { int fact,i; fact=1; for (i=1;i<=n;i++) { fact=fact*i; } return (fact); } int main() { float x; float suma; int i; cout<<"x:"; cin>>x; suma=0.0; for (i=0;i<=100;i++) { suma=suma+pow(float (-1.0),float(i))*pow(x,float((2*i)+1))/factorial (2*i+1); } cout <<"el valor de la serie es:"<<suma; system("PAUSE"); return EXIT_SUCCESS; }
  • 6. 4.- Pasar un número a hexadecimal Solución #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int numero; int cifras [32]; int i,j; cout<<"Numero:"; cin>>numero; i=1; while (numero>=16) { cifras [i]=numero%16; numero=numero/16; i++; } cifras [i]=numero; for (j=i;j>=1;j--) { cout<<cifras[j]<<endl; } system("PAUSE"); return EXIT_SUCCESS; }
  • 7. 5.- Escribir un programa que dados tres números que representan 3 longitudes nos diga si existe y un triángulo que tenga esas dimensiones ( Para que haya un triángulo que tenga esas dimensiones, la suma de cualesquiera dos lados tiene que ser mayor que el tercer lado) SOLUCIÓN #include <cstdlib> #include <iostream> using namespace std; int main() { float a,b,c; bool d; cout<<"lado a:"; cin>>a; cout<<"lado b:"; cin>>b; cout<<"lado c:"; cin>>c; if (a+b>c && a+c>b && b+c>a) { cout<<"el triangulo existe"<<endl; d=true; } else { cout<<"El triangulo no existe"<<endl; d=false; } if (d==true) { if (a==b && b==c) { cout<<"el triangulo es equilatero"<<endl; } else if (a!=b && b!=c &&a!=c) { cout<<"El triangulo es escaleno"<<endl; }
  • 8. else { cout<<"el triangulo es isosceles"<<endl; } } system("PAUSE"); return EXIT_SUCCESS; }
  • 9. 6.- Escribir un programa que me de el máximo común divisor de dos números SOLUCIÓN #include <cstdlib> #include <iostream> using namespace std; int main() { int a,b,i; cout<<"numero mayor:"<<endl; cin>>a; cout<<"numero menor:"<<endl; cin>>b; for (i=b;i>=1;i--) { if (a%i==0 && b%i==0) { cout<<"El maximo comun divisor es:"<<i<<endl; break; } } system("PAUSE"); return EXIT_SUCCESS; }
  • 10. 7.- Escribir un programa que me de el máximo y el mínimo de un vector introducido por el usuario por teclado. El programa debe incluir un procedimiento para leer el vector y otro para el máximo y mínimo de un vector. SOLUCIÓN #include <cstdlib> #include <iostream> using namespace std; void leer_vector (int n,float v[]) { int i; for (i=1;i<=n;i++) { cout<<"Componente "<<i<<endl; cin>>v[i]; } } float maximo (int n,float v[]) { int i; float max; max=v[1]; for (i=1;i<=n;i++) { if (v[i]>max) { max=v[i]; } } return (max); } float minimo (int n,float v[]) { int i; float min; min=v[1]; for (i=1;i<=n;i++) { if (v[i]<min) { min=v[i]; }
  • 11. } return (min); } int main() { int n; cout<<"numero de componentes:"<<endl; cin>>n; float v[n]; leer_vector (n,v); cout<<"el maximo es:"<<maximo (n,v)<<" el minimo es:"<<minimo (n,v)<<endl; system("PAUSE"); return EXIT_SUCCESS; }
  • 12. 8.- Hacer un programa que cambie de unidades usando un switch case en concreto, el usuario le proporcionará una longitud y la unidad en la que está medida (centímetros, kilómetros, o pulgadas) y el programa pasará la cantidad introducida a metros SOLUCIÓN #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { float l,resultado; int opcion; cout<<"Longitud:"<<endl; cin>>l; cout<<"Unidad:1.-cm 2.- pulgadas 3.- km"<<endl, cin>>opcion; switch (opcion) { case 1: resultado=l/100; cout<<"La longitud en metros es:"<<resultado<<endl; break; case 2: resultado=l/254; cout<<"La longitud en metros es:"<<resultado<<endl; break; case 3: resultado=l*1000; cout<<"La longitud en metros es:"<<resultado<<endl; break; default: cout<<"ERROR"<<endl; break; } system("PAUSE"); return EXIT_SUCCESS; }
  • 13. 9.- Hacer una función que reciba un número entero y que devuelva el mismo número convertido en entero largo SOLUCIÓN #include <cstdlib> #include <iostream> using namespace std; long int transformar (int n) { return (n); } int main() { system("PAUSE"); return EXIT_SUCCESS; }
  • 14. 10.- Escribir una función que calcule el producto de la primera y de la última cifra de un número entero: SOLUCIÓN #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int numero,a,b,producto; cout<<"Numero:"<<endl; cin>>numero; a=numero%10; while (numero>10) { numero=numero/10; } b=numero; producto=a*b; cout<<"el resultado de multiplicar la primera por la ultima es:"<<producto<<endl; system("PAUSE"); return EXIT_SUCCESS; }
  • 15. 11.- Escribir un programa que dado un número decimal introducido por el usuario, lo convierta en un número binario y lo almacene en un vector de enteros de 32 bits SOLUCIÓN #include <cstdlib> #include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv[]) { bool a; int i,suma,j; int v[32],cifras [100]; for (i=31;i>=0;i--) { cout<<"componente "<<i<<endl; cin>>v[i]; } suma=0; for (i=0;i<=31;i++) { suma=suma+v[i]*pow (2.0,double (i)); } cout<<"El numero en decimal es:"<<suma<<endl; j=1; while (suma>10) { cifras [j]=suma%10; j++; suma=suma/10; } cifras [j]=suma; for (i=1;i<=j;i++) { cout<<cifras [i]<<endl; } for (i=1;i<=j;i++) { if (cifras [i]==cifras [j+1-i]) {
  • 16. a=true; continue; } else { a=false; cout<<"Numero no capicua"<<endl; break; } } if (a==true) { cout<<"Numero capicua"<<endl; } system("PAUSE"); return EXIT_SUCCESS; }
  • 17. 12.- Escribir un programa que dado un número binario (almacenado en un vector de 32 bits) lo convierta en un número entero y me diga si el número obtenido es capicúa. #include <cstdlib> #include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv[]) { bool a; int i,suma,j; int v[32],cifras [100]; for (i=31;i>=0;i--) { cout<<"componente "<<i<<endl; cin>>v[i]; } suma=0; for (i=0;i<=31;i++) { suma=suma+v[i]*pow (2.0,double (i)); } cout<<"El numero en decimal es:"<<suma<<endl; j=1; while (suma>10) { cifras [j]=suma%10; j++; suma=suma/10; } cifras [j]=suma; for (i=1;i<=j;i++) { cout<<cifras [i]<<endl; } for (i=1;i<=j;i++) { if (cifras [i]==cifras [j+1-i]) { a=true;
  • 18. continue; } else { a=false; cout<<"Numero no capicua"<<endl; break; } } if (a==true) { cout<<"Numero capicua"<<endl; } system("PAUSE"); return EXIT_SUCCESS; }
  • 19. 13.- Implementar un programa que me pregunte la dimensión de un a matriz y la opción a escoger: 1.- todos 1, 2.- todos 0 3.- todos las diagonales 1) y me imprima la matriz seleccionada SOLUCIÓN #include <cstdlib> #include <iostream> using namespace std; void matriz_cero (int t, int m[10][10]) { int i,j; for (i=1;i<=t;i++) { for (j=1;j<=t;j++) { m[i][j]=0; } } } void matriz_uno (int t, int m[10][10]) { int i,j; for (i=1;i<=t;i++) { for (j=1;j<=t;j++) { m[i][j]=1; } } } void matriz_diagonal (int t, int m[10][10]) { int i,j; for (i=1;i<=t;i++) { for (j=1;j<=t;j++) { if (i==j) { m[i][j]=1;
  • 20. } else if ((i+j)==(t+1)) { m[i][j]=1; } else { m[i][j]=0; } } } } void imprimir (int t,int m[10][10]) { int i,j; for (i=1;i<=t;i++) { for (j=1;j<=t;j++) { cout<<m[i][j]<<" "; } cout<<endl; } } int main() { int t,opcion; cout<<"Tamano:"<<endl; cin>>t; int m[10][10]; cout<<"tipo de matriz: 1.- Todos 1 2.- Todos 0 3.- Diagonal"<<endl; cin>>opcion; switch (opcion) { case 1: matriz_uno(t,m); imprimir (t,m); break; case 2: matriz_cero(t,m); imprimir (t,m); break; case 3: