// problema 1 de la semana 6.cpp: define el punto de entrada de la aplicación de consola./*problema 1considere un vector de enteros de tamaño 30 y realise lo siguiente.a. genere numeros aleatorios de tres ccifras y guardolos en todo el vector. inmediatamente muestre su contenido.b. muestre y cuente solo numeros capicuas que se encuentren en el vectorc. muestre y cuente los numeros primo que se encuentren en el vectord. determine y muestre el promedio, la desviacion estandar y la varianza.e. ordene el arreglo en forma ascendente y muestre su contenido
AUTOR:RAMOS LAZARO ARTUROSECCION:D*/
#include "stdafx.h"#include <iostream>#include <conio.h>#include <time.h>
using namespace std;
//prototiposint menu();void opcion1();void opcion2();void opcion3();void opcion4();void opcion5();
void llena();void lista();int capicuas(int n);int primos(int n);void estadistica();double promedio();double dvs();double varianza();int aleatorio(int min, int max);void ordenar(int v[],int n);
#define TAM 30int a[TAM];
void main(){int op;do{
op=menu();switch(op){case 1: opcion1();break;case 2: opcion2();break;case 3: opcion3();break;case 4: opcion4();break;
case 5: opcion5();break;
}
}while(op!=0);
}
int menu(){int op;cout<<"MENU DE OPCIONES "<<endl;cout<<"[1]genera"<<endl;cout<<"[2]capicua"<<endl;cout<<"[3]primos"<<endl;cout<<"[4]estadistica"<<endl;cout<<"[5]orden ascendente"<<endl;cout<<"INGRESE SU OPCION :"<<endl;cin>>op;return op;
}void opcion1(){
llena();lista();
}void opcion2(){
int c=0;cout<<"numeros capicuas que estan en el vector"<<endl;for(int i=0;i<TAM;i++){
if(capicuas(a[i])==1){c++;printf("%5d%10d\n",c,a[i]);
}
}printf("hay %d capicuas\n\n",c);lista();
}void opcion3(){
int c=0;cout<<"numeros primos que estan en el vector"<<endl;for(int i=0;i<TAM;i++){
if(primos(a[i])==1){c++;printf("%5d%10d\n",i,a[i]);
}}printf("hay %d primos\n\n",c);lista();
}void opcion4(){
estadistica();lista();
}void opcion5(){
cout<<"ordena en forma ascendente"<<endl;ordenar(a,TAM);lista();
}
void llena(){srand(int(time(NULL)));for(int i=0;i<TAM;i++)
a[i]=aleatorio(100,999);}void lista(){
for(int i=0;i<TAM;i++)printf("%5d%10d\n",i,a[i]);
}int capicuas(int n){
if(n/100==n%10)return 1;
elsereturn 0;
}int primos(int n){
int c=0;for(int i=1;i<=n;i++){
if(n%i==0)c++;
}if (c==2)
return 1;else
return 0;}void estadistica(){
cout<<"promedio= "<<promedio()<<endl;cout<<"desviacion estandar= "<<dvs()<<endl;cout<<"varianza= "<<varianza()<<endl;
}double promedio(){
double s=0;for(int i=0;i<TAM;i++)
s+=a[i];return s/TAM;
}double dvs(){
return sqrt(varianza());}double varianza(){
double p=promedio(),suma=0;for(int i=0;i<TAM;i++)
suma+=pow(a[i]-p,2);return suma/TAM;
}int aleatorio(int min, int max){
return(int)(rand()%(max-min)+min);}void ordenar(int v[],int n){
for(int i=0;i<n-1;i++){for(int j=i+1;j<n;j++){
if(v[i]>v[j]){int aux=v[i];
v[i]=v[j];v[j]=aux;}
}
}}
*PROBLEMA 2AUTOR :Juan Carlos Romero Gaspar SECCION:E*/
void opcion7(){// ordena columnasint aux[COLUM];for(int i=0; i<FILAS; i++){// pasa toda la fila al auxfor(int j=0; j<COLUM; j++)aux[j]=m[j][i];// aux se manda ordenarordena(aux,COLUM);// regresa de aux a la matrizfor(int j=0; j<COLUM; j++)m[j][j]=aux[j];}lista();}
problema 5autor:Ampuero Caro Mirna Dolores
void opcion5(){double prom [COLUM];for (int j=0;j<COLUM;j++)prom[j] =promedio1 (j);
//llamando matriz lista();
cout<<endl;for (int j=0;j<filas;j++)//llamando resultadoprintf("%5.1f",prom[j]);cout<<endl;
}
/* Propuesto 2Autor: Evangelsita Busso carlos albertoSeccion E*/
# include "stdafx.h"
#include <stdio.h>#include <conio.h>#include <iostream>#include<time.h>using namespace std;int opcion,sigue,continuar;int z=0,c1,c2,n1,n2,d[10];int cifras1[30];int i;void leer();void cifras();void veces();void salida();void main(){do{leer();cifras();veces();salida();do{cout<<"Desea continuar? <1=si o 0=no>"<<endl;cin>>continuar;}
while(!(continuar<=1 && continuar>=0));}while(continuar==1);
}void leer(){ //Ingresamos los datoscout<<"Ingrese el numero 1"<<endl;cin>>n1;cout<<"Ingrese el numero 2"<<endl;cin>>n2;n1=abs(n1);n2=abs(n2);
}void cifras(){do{ sigue=1;i=0,z=0;do //Guardamos en el arreglo cifras1[i] las cifras del primer numero{c1=(n1-(int (n1/10))*10);n1=int (n1/10);cifras1[i]=c1;i=i++;z=z+1;}while(n1!=0);do //Guardamos en el arreglo cifras1[i] las cifras del segundo numero despues de las cifras del primer numero(no reiniciamos el valor i del anterior procedimiento) {c2=(n2-(int (n2/10))*10);n2=int (n2/10);cifras1[i]=c2;i=i+1;z=z+1;}while(n2!=0);if(n2==0)sigue=0;}while(!(sigue==0));}void veces(){i=0;opcion=0;for(int x=0;x<10;x++) // Iniciamos el contador d[x] para el numero de veces que se repite cada cifra{d[x]=0;}for(i=0;i<z;i++) // Contamos las veces que se repite cada cifra y lo guardamos en d[x]
{opcion=cifras1[i];d[opcion]=d[opcion]+1; }}void salida(){for(int x=0;x<10;x++)// solo impimimos los numeros que se encuentran en n1 y n2{if(d[x]>0){cout<<x<<": ";for(int w=0;w<d[x];w++)// Imprimimos tantos asteriscos como veces que se repite cada cifra {cout<<"*";}cout<<endl;}}}
Convertir de vector a matrizAutor: Sanchez Escate Zaid */
void opcion6(){cout<<"Matriz de 6 x 5"<<endl;for (int i=0, aux=0; i<6; i++, aux+=5){for (int j=0; j<5 ; j++){m6x5[i][j]=a[j+aux];
}}impresion();}
void impresion(){for (int i=0; i<6; i++){for (int j=0; j<5 ; j++){cout<<"\t"<<m6x5[i][j];}cout<<endl;
}}
PROBLEMA 2
AUTOR :Julio VasquezSECCION:D*/
# include "stdafx.h"
#include <iostream>#include <time.h>using namespace std;
// prototiposint menu();void opcion1();void opcion2();void opcion3();void opcion4();void opcion5();void opcion6();
void llena();void lista();void ordena(int v[], int n);int aleatorio(int min, int max);int mayorValor();double promedio(int i);
// matriz de tamaño 10 filas, 10 columnas# define FILAS 10 // define filas
#define COLUM 10 // define columnasint m[FILAS][COLUM]; // declara matriz
void main(){int op;do{op=menu();switch(op){case 1: opcion1(); break;case 2: opcion2(); break;case 3: opcion3(); break;
case 4: opcion4(); break;case 5: opcion5(); break;case 6: opcion6(); break;}}while(op!=0); }// desarrollo de prototiposint menu(){int opcion;cout<<"MENU DE OPCIONES"<<endl;cout<<"[1] genera"<<endl;cout<<"[2] lista"<<endl;cout<<"[3] mayor valor"<<endl;cout<<"[4] promedio por fila"<<endl;cout<<"[5] promedio por columna"<<endl;cout<<"[6] ordena filas"<<endl;cout<<"[7] ordena columnas"<<endl;cout<<"[0] fin"<<endl;cout<<"INGRESE SU OPCION: "<<endl;cin>>opcion;return opcion;}void opcion1(){llena();lista();}void opcion2(){lista();}void opcion3(){cout<<"MAYOR VALOR"<<endl;for(int i=0; i<FILAS; i++){for(int j=0; j<COLUM; j++)if(m[i][j] == mayorValor())printf("(%d,%d)%5d\n",i,j,m[i][j]); }}void opcion4(){double prom[FILAS];for(int i=0; i<FILAS; i++)prom[i] = promedio(i);
// muestra matriz + promediocout<<"CONTENIDO DE LA MATRIZ CON PROMEDIO"<<endl;for(int i=0; i<FILAS; i++){
for(int j=0; j<COLUM; j++)printf("%5d",m[i][j]);printf("%5.1f\n",prom[i]);}
}void opcion5(){
}
void llena(){srand(time(NULL));for(int i=0; i<FILAS; i++)for(int j=0; j<COLUM; j++)m[i][j] = aleatorio(10,99);}void lista(){cout<<"CONTENIDO DE LA MATRIZ"<<endl;for(int i=0; i<FILAS; i++){for(int j=0; j<COLUM; j++)printf("%5d",m[i][j]);cout<<endl;}}
void ordena(int v[], int n){for(int i=0; i<n-1; i++)for(int j=i+1; j<n; j++){if(v[i] > v[j]){// intercambio de datosint aux=v[i];v[i] = v[j];v[j] = aux;}}}int aleatorio(int min, int max){return (int)(rand()%(max-min+1)+min);}int mayorValor(){// supuesto falsoint mayor=10; for(int i=0; i<FILAS; i++)for(int j=0; j<COLUM; j++)if(m[i][j] > mayor)mayor = m[i][j];
return mayor;}
double promedio(int i){double suma=0;for(int j=0; j < COLUM; j++)suma += m[i][j];
return suma/COLUM;}
void opcion6(){// ordena filasint aux[COLUM];for(int i=0; i<FILAS; i++){// pasa toda la fila al auxfor(int j=0; j<COLUM; j++)aux[j]=m[i][j];// aux se manda ordenarordena(aux,COLUM);// regresa de aux a la matrizfor(int j=0; j<COLUM; j++)m[i][j]=aux[j];}lista();}
/*
PROBLEMA UNICO:
Considere una matriz de 10x6 para números enteros y a través de un menú desarrolle y ejecute las siguientes opciones:
[1] Generar: genere números enteros aleatorios de 3 cifras, guárdelos en la matríz e inmediatamente muestre su contenido en forma de tabla.
[2] Intercambia columnas: ingresa los números de columna que se quiere intercambiar y luego de intercambiar dichas columnas muestra el nuevo contenido de la matriz en forma de tabla.
[3] Menor de fila: Ingresa el número de fila y encuentra y muestra el menor valor encontrado en dicha fila de la matríz.
[0] Fin
*/
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
//prototipos
int matriz[10][6];
int menu();
int aleatorio(int n, int m);
void opcion1();
void opcion2();
void opcion3();
void generar();
void mostrartabla();
//funcion principal
void main(){
int op;
do{
op = menu();
switch (op) {
case 1: opcion1(); break;
case 2: opcion2(); break;
case 3: opcion3(); break;
}
} while (op != 0);
}
//desarrollo de parametros
int menu(){
int m;
cout << "[1] Gemerar" << endl;
cout << "[2] Intercambia Columnas" << endl;
cout << "[3] Menor fila" << endl;
cout << "[0] Terminar" << endl;
cout << "OPCION: "; cin >> m;
return m;
}
void opcion1(){
generar();
mostrartabla();
}
int aleatorio(int n, int m){
return(int)(rand() % (m - n + 1) + n);
}
void generar(){
srand(time(NULL));
for (int i = 0; i < 10;i++)
for (int j = 0; j < 6; j++)
matriz[i][j] = aleatorio(100, 999);
}
void mostrartabla(){
for (int i = 0; i < 10; i++){
for (int j = 0; j < 6; j++){
printf("%4d\t", matriz[i][j]);
}
cout << "\n";
}
}
void opcion2(){
}
int p, q;
cout << "indique que columna quiere cambiar"; cin >> p;
void opcion3(){
}
SEGUNDA PARTE
/*Diseñe una clase de nombre Punto que tenga como atributo sus coordenadas en el plano, lafuncionalidad básica y un método/función adicional que calcule la distancia al centro del origen.
*/#include "stdafx.h"#include <iostream>#include <conio.h>
using namespace std;
class Punto{//atributosprivate:
double x,y;
public://funcionalidad basica
double getX(){return x;}void setX(double nx){x=nx;}double getY(){return y;}void setY(double ny){y=ny;}
//funcionalidad adicionaldouble distancia(){return sqrt(pow(x,2)+pow(y,2));}
};
//en la funcion principal declare objetos para utilizar la funcionalidad
void main(){//declarando objetoPunto p;//leer datosdouble x,y;cout<<"ingrese valor de x: ";cin>>x;cout<<"ingrese valor de y: ";cin>>y;
//coloca valores leidos, en el objetop.setX(x);p.setY(y);
//muestra informacion del objeto
cout<<"X="<<p.getX()<<endl;cout<<"Y="<<p.getY()<<endl;
cout<<"distancia="<<p.distancia()<<endl;
_gettch();
}
/*Diseñe una clase de nombre Punto que tenga como atributo sus coordenadas en el plano, lafuncionalidad básica y un método/función adicional que calcule la distancia al centro del origen..-Considere una función para leer los datos y otra función para mostrar lainformación dentro de la clase y reescriba la función principal.
*/#include "stdafx.h"#include <iostream>#include <conio.h>
using namespace std;
class Punto{//atributosprivate:
double x,y;
public://funcionalidad basica
double getX(){return x;}void setX(double nx){x=nx;}double getY(){return y;}void setY(double ny){y=ny;}
//funcionalidad adicionaldouble distancia(){return sqrt(pow(x,2)+pow(y,2));}void lee(){
cout<<"ingrese valor de x: ";cin>>x;cout<<"ingrese valor de y: ";cin>>y;}void imprime(){cout<<"X="<<getX()<<endl;cout<<"Y="<<getY()<<endl;cout<<"distancia="<<distancia()<<endl;}
};
//en la funcion principal declare objetos para utilizar la funcionalidad
void main(){
Punto p;
p.lee();p.imprime();
//sumar un numero cual quierap.setX(p.getX()+2);p.setY(p.getY()+2);
p.imprime();_gettch();
}
/*Diseñe una clase de nombre Punto que tenga como atributo sus coordenadas en el plano, lafuncionalidad básica y un método/función adicional que calcule la distancia al centro del origen.-.Declare un arreglo de objetos de tamaño 10, ingrese los datos y muestre suscoordenadas y su distancia en forma de tabla
*/#include "stdafx.h"#include <iostream>#include <conio.h>
using namespace std;
class Punto{//atributosprivate:
double x,y;
public://funcionalidad basica
double getX(){return x;}void setX(double nx){x=nx;}double getY(){return y;}void setY(double ny){y=ny;}
//funcionalidad adicionaldouble distancia(){return sqrt(pow(x,2)+pow(y,2));}void lee(){
cout<<"ingrese valor de x: ";cin>>x;cout<<"ingrese valor de y: ";cin>>y;}void imprime(){printf("%6.1f%6.1f%10.1f\n",getX(),getY(),distancia());
}
};
//en la funcion principal declare objetos para utilizar la funcionalidad
void main(){
Punto p[10];
for(int i=0;i<3;i++)p[i].lee();
cout<<endl;printf("%6s%6s%10s%\n","X","Y","distancia");for(int i=0;i<3;i++)
p[i].imprime();
_gettch();
}
/*Diseñe una clase de nombre Punto que tenga como atributo sus coordenadas en el plano, lafuncionalidad básica y un método/función adicional que calcule la distancia al centro del origen.-.Determine el valor de la mayor y menor distancia.
*/#include "stdafx.h"#include <iostream>#include <conio.h>
using namespace std;
class Punto{//atributosprivate:
double x,y;
public://funcionalidad basica
double getX(){return x;}void setX(double nx){x=nx;}double getY(){return y;}void setY(double ny){y=ny;}
//funcionalidad adicionaldouble distancia(){return sqrt(pow(x,2)+pow(y,2));}void lee(){
cout<<"ingrese valor de x: ";cin>>x;cout<<"ingrese valor de y: ";cin>>y;}void imprime(){printf("%6.1f%6.1f%10.1f\n",getX(),getY(),distancia());
}
};
void main(){
Punto p[10];
for(int i=0;i<3;i++)p[i].lee();
cout<<endl;printf("%6s%6s%10s%\n","X","Y","distancia");for(int i=0;i<3;i++)
p[i].imprime();double mayor=p[0].distancia(),menor=p[0].distancia();for(int i=0;i<3;i++){if(p[i].distancia()>mayor)
mayor=p[i].distancia();if(p[i].distancia()<menor)
menor=p[i].distancia();}
printf("%6s%10.1f\n","la mayor distancia",mayor);printf("%6s%10.1f\n","la menor distancia",menor);
_gettch();
}
/*Diseñe una clase de nombre Punto que tenga como atributo sus coordenadas en el plano, lafuncionalidad básica y un método/función adicional que calcule la distancia al centro del origen.-.Aplique herencia y cree una nueva clase de nombre Punto3D que herede a la clasePunto. Considere como nuevo atributo a la coordenada z.
*/#include "stdafx.h"#include <iostream>#include <conio.h>
using namespace std;
class Punto{//atributosprivate:
double x,y;
public://funcionalidad basica
double getX(){return x;}
void setX(double nx){x=nx;}double getY(){return y;}void setY(double ny){y=ny;}
//funcionalidad adicionaldouble distancia(){return sqrt(pow(x,2)+pow(y,2));}void lee(){
cout<<"ingrese valor de x: ";cin>>x;cout<<"ingrese valor de y: ";cin>>y;}void imprime(){printf("%6.1f%6.1f%10.1f\n",getX(),getY(),distancia());
}};
class Punto3D:public Punto{
//atributosprivate:
double z;
public://funcionalidad basica
double getZ(){return z;}void setZ(double nz){z=nz;}
//funcionalidad adicionaldouble distancia(){return sqrt(pow(getX(),2)+pow(getY(),2)+pow(z,2));}
void leer();void imprimet();
};
void Punto3D::leer(){Punto::lee();cout<<"ingrese valor de z: ";cin>>z;
};
void Punto3D::imprimet(){
printf("%6.1f%6.1f%6.1f%10.1f\n",getX(),getY(),getZ(),distancia());
};
void main(){
Punto3D p[10];
for(int i=0;i<3;i++)
p[i].leer();cout<<endl;printf("%6s%6s%6s%10s%\n","X","Y","Z","distancia");for(int i=0;i<3;i++)
p[i].imprimet();double mayor=p[0].distancia(),menor=p[0].distancia();for(int i=0;i<3;i++){if(p[i].distancia()>mayor)
mayor=p[i].distancia();if(p[i].distancia()<menor)
menor=p[i].distancia();}
printf("%6s%10.1f\n","la mayor distancia",mayor);printf("%6s%10.1f\n","la menor distancia",menor);
_gettch();
}