Vous êtes sur la page 1sur 11

Camilo prieto /*ingresarle datos en un solo ciclo repetitivo a dos vectores llamados X y Y de 5 y 4 posiciones respectivamente los datos deben

ser ingresados como se muestra en la hoja de exel posteriormente ingresar datos a un vector llamado Z de 16 posiciones apartir de estos datos crear la matriz M cuadrada de 5*5 los datos del vector X se ingresaran en la diagonal principal de M como se muestra en la tabla de exel los datos del vector Y se colocaran en la diagonal secundaria de M sin sobre escribir el dato central los datos del vector Z se ingresaran por filas de la ultima a la primera y de derecha a izquierda sin sobre escribir nigun dato que esta en la matriz M imprimir la matriz M*/ #include<iostream> #include<iomanip> #include<conio.h> using namespace System; using namespace std; void main () { float X[6], Y[5]; int F=5; for(int c=0; c<=F-1; c++) { cout<<"\n X["<<c+1<<"] = "; cin>>X[c]; if(c<=F-2) { cout<<"\n Y["<<c+1<<"] = "; cin>>Y[c]; } } float Z[17]; int D=16; for(int j=0; j<=D-1;j++) { cout<<"\n Z["<<j+1<<"] = "; cin>>Z[j]; } int M[6][6]; int P=5; int Q=5; int contx=0; int conty=0; int contz=0; for (int a=P-1; a>=0; a--) { for (int b=Q-1; b>=0; b--) { if(a==b) { M[a][b]=X[contx]; contx++; } if((a+b+1==F)&&(a!=b))

{ M[a][b]=Y[conty]; conty++; } if((a!=b)&&(a+b+1!=F)) { M[a][b]=Z[contz]; contz++; } } } cout<<"\n\n\n"; for (int a=P-1; a>=0; a--) { for (int b=Q-1; b>=0; b--) { cout<<"M["<<a+1<<"]["<<b+1<<"] = "<<M[a][b]<<"\t"; } } getch(); }

Ejercicio de candidatos

#include<iomanip> #include<iostream> #include<conio.h> using namespace System; using namespace std; void main () { int K, C; cout<<"\n Por favor digite cuantos candidatos se presentaron a las elecciones (Max 5) \n "; cin>>K; cout<<"\n Por favor digite En cuantas ciudades se llevaron a cabo las elecciones (Max 32) \n "; cin>>C; char CANDIDATO[5][20]; cin.ignore (); for(int I=0; I<=K-1; I++) {

cout<<"\n Por favor digite el nombre del candidato ["<<I+1<<"] \n"; cin.getline(CANDIDATO[I],20); } char CIUDAD[32][15]; cin.ignore (); for(int J=0; J<=C-1; J++) { cout<<"\n Por favor digite el nombre de la ciudad ["<<J+1<<"] \n"; cin.getline(CIUDAD[J],15); } int V[5][32]; for(int M=0; M<=K-1; M++) { for(int N=0; N<=C-1; N++) { cout<<" \n Cuantos votos obtuvo el cantidato "<<CANDIDATO[M]<<" en la ciudad de "<<CIUDAD[N]<<"\n "; cin>>V[M][N]; } } int TOTCAN[5]; for(int X=0; X<=K-1; X++) { int SUMAV=0; for(int Y=0; Y<=C-1; Y++) { SUMAV+=V[X][Y]; } TOTCAN[X]=SUMAV; cout<<"\n El candidato "<<CANDIDATO[X]<<" obtuvo un total de "<<TOTCAN[X]<<" votos"; }

getch();

Quiz
/*Realizar un programa que permita ingresar datos a dos arreglos llamadados X e Y de F filas y C columnas. A partir de esto, crear: a. Un arreglo unidimensional A con los datos pares de la matriz X

b. Un arreglo unidimensional B con los datos impares de la matriz Y c. Agregar al vectos A los datos de la diagonal principal de la matriz X d. Agregar al vector B los datos de la diagonal secundaria de la matriz Y Imprimir X, Y, A y B En grupos de dos personas, vale 10% de la nota del parcial II, entregar hoy a las 9 y 40 am al correo javier.medina.cruz.uis@gmail.com. Se debe trabajar independientemente por grupo, se valora lo que se trate de hacer como procedimiento. (ver ejemplo excel)*/ #include<iomanip> #include<iostream> #include<conio.h> using namespace System; using namespace std; void main() { int X[5][5], Y[5][5], A[5], B[5]; int F; cout<<"\n Digite el numero de filas (maximo 5) "; cin>>F; int C; cout<<"\n Digite el numero de columnas (max 5)"; cin>>C; for(int R=0; R<=F-1; R++) { for(int T=0; T<=F-1; T++) { cout<<"\n X["<<R+1<<"]["<<T+1<<"] ="; cin>>X[R][T]; cout<<"\n Y["<<R+1<<"]["<<T+1<<"] ="; cin>>Y[R][T]; } } for(int M=0; M<=C-1; M++) { for(int G=0; G<=F-1; G++) { if(X[G][M]%2==0) { A[M]=X[G][M]; }

} } cout<<"Los datos del arreglo A son: \n";

for(int E=0; E<=C-1; E++) { for(int I=0; I<=F-1; I++) cout<<"\t"<<A[E]; } for(int H=0; H<=C-1; H++) { for(int J=0; J<=F-1; J++) { if(Y[J][H]%2!=0) { B[H]=Y[J][H]; } } } cout<<"Los datos del arreglo B son: \n"; for(int O=0; O<=C-1; O++) { cout<<"\t"<<A[O]; } getch(); }

Trabajo final

#include <iomanip> #include <iostream> #include <conio.h>

using namespace System; using namespace std; class MATRICES { int FILAS , COLUMNAS, M[5][5],TOTALDATOS, CONTADOR; float SUMADATOSPARES, SUMATODOSDATOS; public: int CPD[25], TD[25]; void INGFILCOLDAT(); void PORCENTAJE(); void ORDENAR();

void MATRANSPUESTA(); float SDATOSPARES(); float CDATOSPARES(); void CDATOSPRIMOS(); float SDATOS(); float CDATOS(); void DATOS(); int FC(); }; void MATRICES::INGFILCOLDAT() { cout<<"\n\n DIGITE EL NUMERO DE FILAS (MAXIMO 5): "; cin>>FILAS; cout<<"\n DIGITE EL NUMERO DE COLUMNAS (MAXIMO 5): "; cin>>COLUMNAS; for (int a=0; a<FILAS; a++) { for(int b=0; b<COLUMNAS; b++) { cout<<"\n M["<<a+1<<"]["<<b+1<<"]: "; cin>>M[a][b]; } } } void MATRICES::PORCENTAJE() { float SUMADATOS=0, CONTADOR=0, PORCENTAJE, PROMEDIO; for (int a=0; a<FILAS; a++) { for (int b=0; b<COLUMNAS; b++) { SUMADATOS+=M[a][b]; } } PROMEDIO=SUMADATOS/(FILAS*COLUMNAS); for (int c=0; c<FILAS; c++) { for (int d=0; d<COLUMNAS; d++) { if (M[c][d]>PROMEDIO) { CONTADOR++; } } } PORCENTAJE=(CONTADOR/(FILAS*COLUMNAS))*100; cout<<"\n\n EL PORCENTAJE DE LOS DATOS QUE ESTAN POR ENCIMA DEL PROMEDIO ES: "<<PORCENTAJE; }

void MATRICES::ORDENAR() { int F=0, G[25], H[5][5]; for (int i=0; i<FILAS; i++) { for (int j=0; j<COLUMNAS; j++) { G[F]=M[i][j]; F++; } } for (int k=0; k<F-1; k++) { for (int l=k+1; l<F; l++) { if (G[k]<G[l]) { float Temp=G[l]; G[l]=G[k]; G[k]=Temp; } } } int M=0; cout<<"\n\n LA MATRIZ ORDENADA DE MAYOR A MENOR POR FILAS DE LA PRIMERA A LA ULTIMA Y DE IZQUIERDA A DERECHA ES:"; for (int n=0; n<FILAS; n++) { cout<<"\n\n"; for(int o=0; o<COLUMNAS; o++) { H[n][o]=G[M]; M++; cout<<"\t"<<H[n][o]; } } } void MATRICES::MATRANSPUESTA() { cout<<"\n\n SU MATRIZ TRANSPUESTA ES:"; for (int p=0; p<COLUMNAS; p++) { cout<<"\n\n"; for (int q=0; q<FILAS; q++) { cout<<"\t\t"<<M[q][p]; } } } float MATRICES::SDATOSPARES() { SUMADATOSPARES=0; for (int r=0; r<FILAS; r++) { for (int s=0; s<COLUMNAS; s++) { if ((M[r][s])%2==0)

{ SUMADATOSPARES+=M[r][s]; } } } return (SUMADATOSPARES); } float MATRICES::CDATOSPARES() { CONTADOR=0; for (int r=0; r<FILAS; r++) { for (int s=0; s<COLUMNAS; s++) { if ((M[r][s])%2==0) { CONTADOR++; } } } return (CONTADOR); } void MATRICES::CDATOSPRIMOS() { int t=0, u=0, v, x; for (int m=0; m<FILAS; m++) { for (int y=0; y<COLUMNAS; y++) { for (v=1; v<=M[m][y]; v++) { x=M[m][y]%v; if (x==0) { t++; } } if (t==2) { CPD[u]=M[m][y]; u++; } t=0; } } CPD[u]=0; } float MATRICES::SDATOS() { SUMATODOSDATOS=0; for (int z=0; z<FILAS; z++) { for (int f=0; f<COLUMNAS; f++) { SUMATODOSDATOS+=M[z][f]; } }

return (SUMATODOSDATOS); } float MATRICES::CDATOS() { TOTALDATOS=0; TOTALDATOS=FILAS*COLUMNAS; return (TOTALDATOS); } void MATRICES::DATOS() { int g=0; for (int c=0; c<FILAS; c++) { for (int d=0; d<COLUMNAS; d++) { TD[g]=M[c][d]; g++; } } } int MATRICES::FC() { return (FILAS*COLUMNAS); } void main() { int A, C=0, contp1=0, B=0, D=0, E=0, J=0, DATOSENCTODOS=0, DATPAR[500], SUMDATPRIMOS=0, CONTDAT=0, e[500]; float SUMTODATPAR=0, SUMTODOSDATOS=0; cout<<"\n DIGITE EL NUMERO DE MATRICES QUE DESEA PROCESAR: "; cin>>A; MATRICES MAT[10]; for (int I=0; I<A; I++) { cout<<"\n MATRIZ ("<<I+1<<"):"; MAT[I].INGFILCOLDAT(); MAT[I].PORCENTAJE(); MAT[I].ORDENAR(); MAT[I].MATRANSPUESTA(); SUMTODATPAR+=MAT[I].SDATOSPARES(); C+=MAT[I].CDATOSPARES(); SUMTODOSDATOS+=MAT[I].SDATOS(); CONTDAT+=MAT[I].CDATOS(); MAT[I].CDATOSPRIMOS(); while (MAT[I].CPD[B]!=0) { DATPAR[D]=MAT[I].CPD[B]; B++; D++; } B=0; MAT[I].DATOS(); while (E!=MAT[I].FC()) {

e[J]=MAT[I].TD[E]; E++; J++; } E=0; } float PROMDATOSPARES=SUMTODATPAR/C, PROMTODOSDATOS=SUMTODOSDATOS/CONTDAT; for (int Q=0; Q<D; Q++) { if (DATPAR[Q]<PROMDATOSPARES) { SUMDATPRIMOS+=DATPAR[Q]; } } for (int Q=0; Q<J; Q++) { if (e[Q]>PROMTODOSDATOS) { DATOSENCTODOS++; } } cout<<"\n\n LA CANTIDAD DE DATOS QUE ESTAN POR ENCIMA DEL PROMEDIO DE TODOS LOS DATOS ES: "<<DATOSENCTODOS; cout<<"\n\n LA SUMA DEL LOS DATOS PRIMOS QUE ESTAN POR ENCIMA DEL PROMEDIO DE LOS DATOS PARES ES: "<<SUMDATPRIMOS; getch(); }

Vous aimerez peut-être aussi