Este documento contiene 13 problemas resueltos de programación en C++. Cada problema presenta una breve descripción del problema y la solución implementada en C++ con funciones y procedimientos. Los problemas incluyen hacer el producto de matrices, calcular el perímetro de un triángulo, implementar una serie de Taylor, convertir números entre bases y verificar si un triángulo es posible.
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Búsqueda por método secuencial
• Búsqueda por método binario
• Búsqueda por método hashing
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Búsqueda por método secuencial
• Búsqueda por método binario
• Búsqueda por método hashing
Creado por Ing. Alvaro Enrique Ruano
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestr
Instrucciones del procedimiento para la oferta y la gestión conjunta del proceso de admisión a los centros públicos de primer ciclo de educación infantil de Pamplona para el curso 2024-2025.
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Problemas resueltos de 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;
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;
}
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])
{
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;
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: