You are on page 1of 10

PÁGINA 108:

4. Ingresar los tamaños de dos vectores; así como cada uno de sus elementos. Si es
factible, calcular y reportar el producto vectorial. En caso contrario, calcular la suma
de todos los elementos del primer vector, determinar el mayor valor del segundo
vector y luego reportar el producto d ellos valores encontrados anteriormente.

//PRODUCTO VECTORIAL DE 2 VECTORES


#include<iostream>
using namespace std;
void ingreseVal(int [], int,char []);
int productoVec(int [],int [],int n1);
int sumaElementos(int [],int);
int mayorElementos(int [],int);
int main ()
{
int x[100],y[100],n1,n2;
cout<<"INGRESE EL TAMANO DE DOS VECTORES"<<endl;
cout<<"================================="<<endl;
cout<<"ingrese el tamano del vector x[] = ";
cin>>n1;
cout<<"ingrese el tamano del vector y[] = ";
cin>>n2;
cout<<"INGRESE los valores de los elementos del VECTOR N°1"<<endl;
ingreseVal(x,n1,"x");
cout<<"INGRESE los valores de los elementos del VECTOR N°2"<<endl;
ingreseVal(y,n2,"y");
if(n1==n2){
cout<<"SU PRODUCTO VECTORIAL ES = "<<productoVec(x,y,n1)<<endl;
}

else
{
cout<<"La suma de los elementos de x[] es =
"<<sumaElementos(x,n1)<<endl;
cout<<"El mayor valor de los elementos de y[] es =
"<<mayorElementos(y,n2)<<endl;
cout<<"El productos de estos dos valores es =
"<<sumaElementos(x,n1)*mayorElementos(y,n2)<<endl;
}
system("pause");
}

void ingreseVal(int x[], int n, char mensaje[])


{
for(int i=1;i<=n;i++){
cout<<mensaje<<"["<<i<<"] = ";
cin>>x[i];
}
}

int productoVec(int x[],int y[], int n)


{
int p=0;
for (int i = 1; i <= n; i++)
{
p=p+x[i]*y[i];
}
return p;
}

int sumaElementos(int x[],int n1)


{
int s=0;
for(int i=1;i<=n1;i++)
s=s+x[i];

return s;
}

int mayorElementos(int y[],int n2)


{
int ma=y[1];
for(int j=1;j<=n2;j++)
if (ma<y[j])
ma=y[j];

return ma;
}
9. Ingresar el orden de una matriz cuadrada. Si el orden es par generar y reportar una
matriz estrictamente triangular superior con números aleatorios de una cifra. En caso
contrario, generar y reportar una matriz estrictamente triangular inferior con número
aleatorios de dos cifras.

//MATRIZ ESTRICTAMENTE TRIANGULAR


#include<iostream>
#include<ctime>
using namespace std;
void matrizTriangulosuperior(int x[][100], int n);
void matrizTrianguloinferior(int x[][100], int n);
int main ()
{
int x[100][100],n;
srand(time(NULL));
cout<<"MATRIZ CUADRADA"<<endl;
cout<<"==============="<<endl;
cout<<"INGRESE EL ORDEN DE UNA MATRIZ CUADRADA = ";
cin>>n;
if (n%2==0){//MATRIZ ESTRICTAMENTE TRIANGULAR SUPERIOR
matrizTriangulosuperior (x,n);
}

if (n%2!=0){//MATRIZ ESTRICTAMENTE TRIANGULAR INFERIOR

matrizTrianguloinferior (x,n);
}
system("pause");
}

void matrizTriangulosuperior(int x[][100], int n)


{
int f,c;
for (f = 1; f <= n+1; f++)
{
for (c = f+1; c <= n+1; c++)
{
x[f][c]=rand()%10;
if(c==f+1){
for (int i = 1; i < c; i++)
{
x[f][c-i]=0;
}
}
}
}

for (f = 1; f <= n; f++)


{

for (c = 1; c <= n; c++)


cout<<"\t"<<x[f][c];
cout<<endl;
}
}

void matrizTrianguloinferior(int x[][100], int n)


{
int f,c;
for (f = 1; f <= n; f++)
{
for (c = f-1; c>=0; c--)
{
x[f][c]=rand()%100;
if(f==c+1){
for (int i = 1; i <= n-c; i++)
{
x[f][c+i]=0;
}
}
}
}
for (f = 1; f <= n; f++)
{

for (c = 1; c <= n; c++)


cout<<"\t"<<x[f][c];
cout<<endl;
}
}

PÁGINA 126:

5. Leer una cadena que tenga como máximo diez caracteres y que represente
a un número escrito en forma romana y conviértalo a entero. Siendo los
dígitos : M(1000), D(500), C(100), L(50), X(10), V(5), I(1). Recordar que no
se puede repetir un dígito más de tres veces.
/* Programa que pasa los numeros romanos a decimales */

/* Numero romanos
Equivalencias decimales:
M 1000
D 500
C 100
L 50
X 10*/

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
char palabra[11];
int vpalabra[10];
int LM,LD,LC,LL,LX,LV,LI,s=0,j=0;
cout<<"CONVERTIDOR DE NUMERO ROMANOS A NUMEROS ENTEROS"<<endl;
cout<<"==============================================="<<endl;
cout<<"(M=1000,D=500,C=100,L=50,X=10,V=5,I=1)"<<endl;
do{
LM=0,LD=0,LC=0,LL=0,LX=0,LV=0,LI=0;
cout<<"Ingrese el numero en romanos(Max 3 veces el mismo digito) = ";
cin.getline(palabra,11);
for (int i = 0; i < 10; i++)
{

switch (palabra[i])
{
case 'M':vpalabra[i]=1000;LM++;break;
case 'D':vpalabra[i]=500;LD++;break;
case 'C':vpalabra[i]=100;LC++;break;
case 'L':vpalabra[i]=50;LL++;break;
case 'X':vpalabra[i]=10;LX++;break;
case 'V':vpalabra[i]=5;LV++;break;
case 'I':vpalabra[i]=1;LI++;break;
default :vpalabra[i]=0;break;
}
}
}while(LM>3||LD>3||LC>3||LL>3||LX>3||LV>3||LI>3);
for (int i = 0; i < 10; i++)
{
if (vpalabra[i]<vpalabra[i+1])
{
vpalabra[i]=-vpalabra[i];
}
else if(vpalabra[i]>=vpalabra[i+1])
{
vpalabra[i]=vpalabra[i];
}
}

for (int i = 0; i < 10; i++)


{
cout<<vpalabra[i]<<"\t";
}

for (int i = 0; i < 10; i++)


{
s=s+vpalabra[i];
}

cout<<endl<<"EL NUMERO ES = "<<s;


getch();
return 0;
}

6. Ingresar una frase y a continuación reportar cada palabra de la frase en


forma de columna, seguido del número de letras que compone cada palabra.
//CONTEO DE LETRAS POR PALABRA EN UNA FRASE

#include<iostream>
#include<conio.h>
using namespace std;
void contador(char frase[],int c);
int main()
{
char frase[100];
int c=0;
cout<<"INGRESE LA FRASE:";
cin.getline(frase,100);
cout<<endl;
contador(frase,c);
getch();
return 0;
}

void contador(char frase[],int c)


{
for (int i = 0; i < strlen(frase)+1; i++)
{

cout<<frase[i]<<endl;
if(frase[i]==' ' || frase[i]==0)
{
cout<<"NUMERO DE LETRAS = "<<c<<endl;
c=-1;
}
c++;
}
}
PÁGINA 203:

1. Ingresar el número de productos comprados, luego a través de un


procedimiento denominado REPORTE calcular y reportar el importe total de la
factura siendo que el costo unitario es de 20 nuevos soles.

//REPORTE
#include <iostream>
#include <conio.h>
using namespace std;
void reporte(int n);
int main ()
{
int n;
cout<<" Ingrese el numero de productos comprados = ";cin>>n;
reporte(n);
getch();
return 0;
}

void reporte(int n)
{
int c=20;
cout<<"FACTURA"<<endl;
cout<<"======="<<endl;
cout<<"COSTO UNITARIO DE CADA PRODUCTO = S/."<<c<<endl;
cout<<"CANTIDAD DE PRODUCTOS COMPRADOS = "<<n<<endl;
cout<<"IMPORTE TOTAL = S/. "<<n*c<<endl;}
6. Llenar un vector de 20 elementos con los primeros veinte números de
Fibonacci, crear la función Fibonacci(). Calcular la suma de los elementos
ubicados en las posiciones impares de dicho vector. Reportar el vector y la
suma encontrados. Los dos primero elementos de esta serio son 0 y 1, y el
resto de elementos se calculan sumando los dos predecesores inmediatos.

//SUCESION DE FIBONACCI
#include <iostream>
#include <conio.h>
using namespace std;
void fibonacci(int x[]);
int sumaImpares(int x[]);
int main()
{
int x[20],s=0;
cout<<"SUCESION DE FIBONACCI"<<endl;
cout<<"====================="<<endl;

fibonacci(x);

cout<<endl;

cout<<"SUMA DE LOS ELEMENTOS UBICADOS EN LAS POSICIONES IMPARES =


"<<sumaImpares(x)<<endl;
getch();
return 0;
}

void fibonacci(int x[])


{
x[0]=0;
x[1]=1;
for (int i = 2; i < 20; i++)
{
x[i]=x[i-2]+x[i-1];
}
for (int i = 0; i < 20 ; i++)
{
cout<<x[i]<<" ";
}
}

int sumaImpares(int x[])


{
int s=0;
for (int i = 0; i < 20 ; i=i+2)
{
s=s+x[i];
}
return s;
}

BY: ERICK ANDERSON SÁNCHEZ VARGAS

CICLO 3 / SECCION: B

You might also like