Sei sulla pagina 1di 58

COMPENDIO DE CLASES.

PRIMER SEMESTRE 2011, PROGRAMACIN EN C Y C++

31 de Marzo de 2011
Pasos para iniciar El programa C y C++ 1. Ir a inicio/todos los programas/ microsof visual estudio/ y seleccionar la version exixtente.

2. Clic en crear proyecto/ en las opciones de visual basic, seleccionar windows/ aplicacin de windows forms.

3. Luego desplegar visual C++ y seleccionar CLR/proyecto vacio de CLR/en nombre del documento colocar: apellido_nombre_cppO2_nmero de proyecto.

4. Ahora en la ventana proyecto, ubicada en la parte superior de la pantalla, seleccionar: Agregar nuevo elemento

5. Seleccionar tipo de archivo y nuevamente insertar en nombre: apellido_nombre_nmero de archivo.

PRIMER PROGRAMA EN C++

DESCRIPCIN DEL PROGRAMAPrograma que recuerda su nombre despus de proporcionrselo usted mismo. Al insertar el nombre despus de ser solicitado, el programa lo reescribe una lnea despus de procesar informacin

#include<iostream> #include<iomanip> #include<conio.h> using namespace System; using namespace std; void main() { //Mi primer programa en C++ cout<<"\n Digite su nombre: "; char NOM[35]; cin>> NOM; cout<<"\n PRCESANDO INFORMACION... PORFAVOR OPRIMA UNA TECLA PARA CONTINUAR"; getch (); cout<<"\n\n Su nombre es: "<<NOM; cout<<"\n soy muy rpido e inteligente... ya me aprend su nombre... jejeje"; getch(); }

PROGRAMACA EN EJECUCIN.

05/04/2011
UTILIZANDO DFC

PASOS A SEGUIR Ingresar y almacenar datos en la memoria RAM del computador Variable: nombre que se le da a una celda informacin (en la memoria RAM). Entrada de datos, procesamiento, salida (respuesta).

Impresin (mensaje en pantalla), siempre entre comillas. Smbolo de lectura

Programa terminado por diagrama de flujo: El programa recibe y almacena datos en la memoria RAM, que luego son expresados en la pantalla, en un determinado orden.

Inicio Imprimir: "Digite su cdigo" Memoria: Codigo Imprimir: "/ENTER"&"Ahora digite su nmero mvil" Memoria: Celular Imprimir: "/ENTER"&"En este momento ingrese su salario mensual" Memoria: Salario Imprimir: "/ENTER"&"El o la estudiante con cdigo"&Codigo&"/ENTER"&"recibe un salario de $"&Salario&"/ENTER"&"y su nmero de celular es"&Celular

Fin AHORA SE MOSTRAR EL MISMO PROGRAMA EN LECTURA C++


#include<iostream> #include<conio.h> #include<iomanip> using namespace System; using namespace std; void main() { cout<<"Digite su codigo"; char Codigo[10]; cin>>Codigo; cout<<"\n Ahora digite su numero movil"; char Celular[10]; cin>>Celular; cout<<"\n En este momento ingrese su salario mensual"; float Salario; cin>>Salario; cout<<"\n"<<"El o la estudiante con codigo"<<Codigo<<"\n"<<"recibe un salario de $"<<Salario<<"\n"<<"y su numero de celular es"<<Celular; getch(); }

Libreras C++ Funciones: #include<math.h> Siempre utilizables: #include<iostream>, #include<conio.h> #include<iomanip> Using namespace Sistem; Using namespace Std; Void main; Impresin: cout<< Memoria: caracteres numricos: float Si no son numricas: char Codigo[10] Teclado: cin>>

12/04/2011
/* ENTRADA DE DATOS: Se realizar un programa que permita almacenar los datos despues de ser ingresados por el teclado, en una celda de la memoria RAM, en dos posisiones que llamaremos K y Q. PROCESAMIENTO DE DATOS: Calcular el logaritmo natural del primer dato y el resultado almacenarlo en una posicin de memoria llamada X Calcular el logaritmo decimal del segundo dato y el resultado almacenarlo en una posicin de memoria llamada H Elevar el primer dato al segundo y almacenar el resultado en una posicin llamada P Elevar el segundo dato al primero y almacenar el resultado en una posicin llamada R SALIDA DE INFORMACIN: Mostrar en pantalla todos los resultados optenidos en el procesamiento de datos */ #include<math.h> #include<conio.h> #include<iostream> #include<iomanip> using namespace System; using namespace std; void main() { //Entrada de datos: float K, Q; cout<<"\n"<<" Por favor digite un nmero entero > 0 "; cin>>K; cout<<"\n"<<" Por favor digite nuevamente un nmero entero > 0 "; cin>>Q; //Procesamiento de datos: float X, H, P, R; X=log(K); H=log10(Q); P=pow(K,Q); R=pow(Q,K); //Salida de informacin: cout<<"\n"<<" El logaritmo natural de "<<K<<" es: "<<X; cout<<"\n"<<" El logaritmo decimal de "<<Q<<" es: "<<H; cout<<"\n"<<K<<" a la "<<Q<<" es igual a: "<<P; cout<<"\n"<<Q<<" a la "<<K<<" es igual a: "<<R; getch(); }

DFC

14/04/2011
PROGRAMA NMERO 4
/* ENTRADA DE DATOS Realizar un programa que permita ingresar 3 valores enteros que correspondan a los coeficientes de la ecuacin AX^2+BX+C=0 y almacenar estos valores en las posiciones de la memoria que llamaremos A, B y C. PROCESAMIENTO DE DATOS Calcular las dos posibles soluciones de la ecuacin y el resultado almacenarlo en las posiciones de memoria X y Y X=(-B+RC(B^2-4AC))/(2A) Y=(-B-RC(B^2-4AC))/(2A) SALIDA DE DATOS Imprimir la ecuacin y las soluciones. Suponer que B^2-4AC>0. suponer que A!=0. */ #include<iostream> #include<iomanip> #include<conio.h> #include<math.h> using namespace System; using namespace std; void main() { //ENTRADA DE DATOS float A, B, C; cout<<"\n"<<"Ingrese un numero entero, que sera el primer coeficiente"; cin>>A; cout<<"\n"<<"Ingrese un numero entero, que sera el segundo coeficiente"; cin>>B; cout<<"\n"<<"Ingrese un numero entero, que sera el tercer coeficiente"; cin>>C; //PROCESAMIENTO DE DATOS double X, Y; X=(-B+sqrt(pow(B,2)-4*A*C))/(2*A); Y=(-B-sqrt(pow(B,2)-4*A*C))/(2*A); //SALIDA DE DATOS cout<<"\n"<<A<<"X^2+"<<B<<"X+"<<C<<"=0. Las posibles souliciones a esta ecuecion son:"; cout<<"\n"<<" X1="<<X; cout<<"\n"<<" X2="<<Y; getch (); }

26/04/2011
ESTRUCTURAS DE CONTROL
/*Estructuras de control(Condicionales) Operadores condiciales: <, >, <=, >=, ==, != Ejemplos: Si el salario de un individuo es>$1500000 entonces este tendra una bonificacin =$20000 de lo contrario su bonificacin sera =$34650. Ejercicio: Realizar un programa que permita: ENTRADA DE DATOS: Ingresar dos valores enteros entre 0 y 9 por el teclado y almacenarlos en los espacios de la memoria X, Y. PROCESAMIENTO DE DATOS: Calcular el promedio y almacenarlo en una pocisin de memoria que llamares PROM Si el promedio es mayor a 5, calcular la diferencia de los dos nmeros DIF; Si el promedio est entre 3 y 5, calcular el cociente de los dos nmeros y almacenar en la posicin que se llamr COC; de lo contrario calcular el producto de los dos valores, el resultado ser almacenado en la posicin llamado MUL. SALIDA DE DATOS: Para cualquier resultado mostrarlo en pantalla junto con el promedio calculado */ #include<iomanip> #include<iostream> #include<conio.h> using namespace System; using namespace std; void main () { //ENTRADA DE DATOS: cout<<"\n"<<"Ingrese dos valores enteros entre 1 y 9"; float X, Y; cin>>X>>Y; //PROCESAMIENTO DE DATOS: float PROM; PROM=(X+Y)/2; cout<<"\n"<<"El promedio es: "<<PROM; getch(); if(PROM>5) { float DIF=X-Y; cout<<"\n"<<"La diferencia de los valores es:"<<X<<"-"<<Y<<"="<<DIF; getch(); }

if(PROM>=3) { float COC=X/Y; cout<<"\n"<<"El cociente de los valores es:"<<X<<"/"<<Y<<"="<<COC; getch(); } else { int D=X*Y; cout<<"\n"<<"El producto de los valores es:"<<X<<"*"<<Y<<"="<<D; getch(); } } }

else {

RESUSLTADO PARA PROM<3

RESUSLTADO PARA PROM ENTRE 3 Y 5

RESUSLTADO PARA PROM>5

PROGRAMA EN DFC

RESULTADO PARA UN PROMEDIO <3

RESULTADO PARA UN PROMEDIO ENTRE 3 Y 5

RESULTADO PARA UN PROMEDIO >5

EJERCICIO Ingresar el cdigo de estudiante y tres notas por el teclado Calcular el promedio Condiciones:

Si el promedio>4.5 la nota ser 5 Si el promedio est entre 4 y 4.5 el promedio se le sumara 0.3 Si el promedio est entre 3 y 3.9 la definitiva ser = promedio Si el promedio es menor<3 la definitiva ser menos 2 dcimas 26_04_2011 EJEERCICIO
/* ENTRADA DE DATOS: Ingresar el cdigo y tres notas del estudiante y guardarlos en los espacios de memoria COD, X, Y, Z, respectivamente. PROCESAMIENTO DE DATOS: Calcular el promedio de las tres notas, almacenarlo en espacio PROM; y luego: Si PROM>5, entonces la nota definitiva ser 5, almacenada en N. Si PROM [4,4.5], entonces la nota definitiva ser la misma ms 3 dcimas, almacenada en M. Si PROM [3,4), entonces la nota definitiva ser la misma, almacenada en O. Si PROM<3, entonces la nota definitiva ser la misma menos 2 dcimas, almacenada P. SALIDA DE DATOS: Mostrar en pantalla el cdigo de estudiante y su nota definitiva. */ #include<iomanip> #include<iostream> #include<conio.h> using namespace System; using namespace std; void main() { //ENTRADA DE DATOS cout<<"\n"<<"Digite su codigo de estudiante, acontinuacion digite las tres notas obtenidas"; float COD, X, Y, Z; cin>>COD>>X>>Y>>Z; //PROCESAMIENTO DE DATOS float PROM=(X+Y+Z)/3; cout<<"\n"<<"El estudiante con codigo "<<COD<<" obtubo un promedio de : "<<PROM; if(PROM>4.5) { float N=5; cout<<"\n"<<"Su nota definiva es: "<<N; getch();

} else { if(PROM>=4) { float M=PROM+0.3; cout<<"\n"<<"Su nota definiva es: "<<M; getch(); } else { if(PROM>=3) { float O=PROM; cout<<"\n"<<"Su nota definiva es: "<<O; getch(); } else { float P=PROM-0.2; cout<<"\n"<<"Su nota definitica es: "<<P; getch(); } } } }

REAULTADO PARA UN PROMEDIO>5

REAULTADO PARA UN PROMEDIO ENTRE 4 Y 4.5

REAULTADO PARA UN PROMEDIO ENTRE 3 Y 3.9

REAULTADO PARA UN PROMEDIO<3

Aun quedan dudas sobre como redondear los resultados.

03/05/2011

/*Realizar un programa que permita Entrada de datos: Ingresar el nmero de alumnos que se desean procesar y almacenar en la posicion de memoria E. Ingresar el codigo y tres notas de 0 a 5 que seran almacenadas en 4 pocisiones de memoria llamadas COD, X, Y, Z. Procesamiento de datos: Calcular el promedio y almacenarlo en una posicion de memoria que llamaremos PROM. Calcular a partir del promedio la definitiva que sera almacenada en una posicion de memoria llamada DEF, segun los siguientes criterios: Si el promedio es mayor a 4.5 la definitiva es igual a 5. Si el promedio esta entre 4 y 4.5 se le suma 0.3 a la definitiva. Si el promedio esta entre 3 y 3.9 la definitiva es el mismo promedio De lo contrario se le resta 0.2 a la definitiva. Calcular el promedio general del curso. Salida de informacion: Para cualquier caso mostrar los resultados en la pantalla, junto con la definitiva calculada. Y el promedio general */ #include<iostream> #include<iomanip> #include<conio.h> using namespace System; using namespace std; void main () { //Entrada de datos cout<<"\n"<<"Digite el numero de estudiantes que posee su curso "; int E; cin>>E; int NE; //PROCESAMIENTO DE DATOS double SUMAD=0; for (NE=1; NE<=E; NE++) { cout<<"\n"<<"Procesando el estudianto numero "<<NE; cout<<"\n"<<"Ingrese el codigo "; char COD[10]; cin>>COD; double X; cout<<"\n"<<"Digite el valor de la primera nota "; cin>>X; double Y; cout<<"\n"<<"Digite el valor de la segunda nota "; cin>>Y; double Z; cout<<"\n"<<"Digite el valor de la tercera nota ";

cin>>Z; double PROM=(X+Y+Z)/3; double DEF; if(PROM>4.5) { DEF=5.0; } else { if(PROM>=4.0) { DEF=PROM+0.3; } else { if(PROM>=3) { DEF=PROM; } else { DEF=PROM-0.2; } } } cout<<"\n"<<" El estudiante con codigo "<<COD<<"\n"<<"Obtuvo un promedio de: "<<PROM<<" Por lo tanto su nota definitiva es: "<<DEF<<"\n"; getch(); SUMAD=SUMAD+DEF; } double PROMC=SUMAD/E; cout<<"\n"<<" El promedio general de su curso es: "<<PROMC; getch(); }

NOTAS PARA DOS ESTUDIANTES:

10/05/2011

/* REALIZAR UN PROGRAMA QUE PERMITA: ENTRADA DE DATOS: Digitar la informacin de L listas. En cada lista hay N nmeros que se deben digitar por el teclado. PRECESAMIENTO DE DATOS: Calcular: -El promedio de los nmeros de cada lista. -El promedio total de todas las listas. -El mayor dato de cada lista. -El menor dato de todas las listas. (Nmero del profesor3008262656) IMPRIMIR LOS CALCULOS REALIZADOS */ #include <iostream> #include<iomanip> #include<conio.h> using namespace System; using namespace std; void main() { //ENTRADA DE DATOS. 1. Ingresar cantidad de listas. cout<<"\n"<<"Por favor digite el numero de listas que desea procesar "; int L; cin>>L; //2. Recorrer cada lista para procesar los datos de cada una. float SUMAPROM=0; int MENORDL=999999; for(int NL=1; NL<=L; NL++) { cout<<"\n\n"<<"PROCESANDO LA LISTA NUMERO "<<NL; //3. Obtener cantidad de datos por lista. cout<<"\n"<<"Digite el numero de datos que posee esta lista "; int N; cin>>N; //4. Recorrer y procesar los datos de cada lista: float SUMAD=0; int MAYORD=0; for(int ND=1; ND<=N; ND++) { //5. Ingresar el dato que ser procesado. cout<<"\n"<<"Ingrese el dato numero "<<ND<<" de la lista numero "<<NL<<": "; float D; cin>>D; SUMAD=SUMAD+D; if (D>MAYORD) { MAYORD=D; }

} float PROMCL=SUMAD/N; cout<<"\n"<<"El promedio de los datos de la lista "<<NL<<"es: "<<PROMCL; cout<<"\n"<<"y el mayor dato de esta lista es: "<<MAYORD; SUMAPROM=SUMAPROM+PROMCL; getch();

if (D<MENORDL) { MENORDL=D; }

} float PROM=SUMAPROM/L; cout<<"\n\n"<<"El menor dato de todas las listas es: "<<MENORDL; cout<<"\n\n"<<"El promedio general de las listas es: "<<PROM; getch();

PROGRAMA FINALIZADO.

PRIMER EXAMEN PROGRAMACION

/*Realizar un programa C++, que permita para un grupo de E empleados: 1. Ingresar nombre, salario bsico y tipo de vinculo; 2. Para cada empleado Calcular el salario neto a pagar bajo las siguientes condiciones: a. Si salario bsico es mayor a dos smmlv (dato entrada) se le hace un descuento del cuatro punto treinta y tres por ciento sobre el basico b. Si est entre 1 y 2 smmlv se le hace una bonificacion equivalente a la quinta parte del basico 1.33% c. De lo contrario, la bonificacion es del 2% y el descuento del

3. Calcular e imprimir el total neto pagado, total de descuentos y total de bonificaciones que hizo la empresa. 4. Imprimir el nombre del empleado que gana menos salario neto. 5. cALCULAR EL PROMEDIO DE SALARIOS BASICOS DE LA EMPRESA Nota: Se debe usar la libreria #include<string.h> strcpy(X, Y) */ #include<iostream> #include<iomanip> #include<conio.h> #include<string.h> using namespace System; using namespace std; void main() { cout<<"\n"<<"Antes de iniciar, por favor ingrese el salario minimo vigente: $"; double SAL; cin>>SAL; cout<<"\n"<<"Ahora ingrese el numero de empleados a evaluar: "; int E; cin>>E; int NE; double DES; double BON; double SUMASALE=0; char EMP[20]; double MENOR=99999999; for (NE=1; NE<=E; NE++) { cout<<"\n\n"<<"PROCESANDO EMPLEADO NUMERO "<<NE; cout<<"\n"<<"Por favor digite el nombre, sin espacios "; char NOM[20]; cin>>NOM; cout<<"\n"<<"Ahora ingrese el valor de salario basico: $";

double SALE; cin>>SALE; cout<<"\n"<<"Que funcion maneja en la empresa? "; char TV[20]; cin>>TV; double SALN; if (SALE>2*SAL) { DES=(SALE*4.33)/100; BON=0; SALN=SALE-DES; } else { if (SALE>=SAL) { DES=0; BON=(SALE/5); SALN=SALE+BON; } else { BON=(SALE*2)/100; DES=(SALE*1.33)/100; SALN=(SALE+BON)-DES; } } if (SALE<MENOR) { MENOR=SALE; strcpy(EMP,NOM); } SUMASALE=SUMASALE+SALE; cout<<"\n"<<"EL salario neto a pagar sera de: $"<<SALN; cout<<"\n"<<"Se ha hecho una bonificacion de: $"<<BON; cout<<"\n"<<"Y un descuento de: $"<<DES; getch(); } cout<<"\n\n"<<"El promedio de salarios basicos de la empresa es: $"<<SUMASALE/E; cout<<"\n\n"<<"El empleado con menor salario es: "<<EMP; getch(); }

PANTALLASO, EN EL EJEMPLO EL SALARIO BASICO ES DE $200000

31/05/2011
/*

REALIZAR UN PROGRAMA que permita ingresar datos a dos arreglos llamados EMPLEADOS y SALARIO. Suponer que la empresa tiene E empleados. Ordenar los arreglos en orden descendente por su salario. Calcular el porcentage de empleados quenan mas del promedio de sueldos. Calcular el porcentage de empleados quenan menos o igual al promedio de sueldos. IMPRIMIR: ARREGLOS ORDENADOS Y CALCULOS REALIZADOS. */ #include<iomanip> #include<iostream> #include<conio.h> #include<string.h> using namespace System; using namespace std; void main() { cout<<"\n Digite el numero de empleados que posee la empresa "; int E; cin>>E; char EMPLEADOS[20][50]; double SALARIOS[20]; int x=0; while(x<=E-1) { cout<<"\n Digite el nombre para el empleado numero "<<x+1<<" cin.ignore(); cin.getline(EMPLEADOS[x],50); cout<<"\n Ahora ingrese el salario de "<<EMPLEADOS[x]<<": "; cin>>SALARIOS[x]; x++;

";

//ORDENANDO EL VECTOR: Metodo de la burbuja for(int a=0; a<=E-2; a++)//Indice para los datos que se comparan con los demas datos { for(int b=a+1; b<=E-1; b++)//Indice para los datos que son recorridos { if(SALARIOS[a]<SALARIOS[b]) { double TEMPORAL=SALARIOS[b]; SALARIOS[b]=SALARIOS[a]; SALARIOS[a]=TEMPORAL; char TEMP[20]; strcpy(TEMP,EMPLEADOS[b]); strcpy(EMPLEADOS[b],EMPLEADOS[a]); strcpy(EMPLEADOS[a],TEMP);

} } }

for(int g=0; g<=E-1; g++) { cout<<"\n\t"<<EMPLEADOS[g]<<" gana un salario de $"<<SALARIOS[g]; getch(); } }

PROGRAMA TERMINADO

07/06/2011
/*

REALIZAR UN PROGRAMA QUE PERMITA INGRESAR DATOS A UNA MATRIZ LLAMADA X CON A FILAS Y B COLUMNAS. Ingresar datos a la matriz por filas de la primera a la ultima, recorriendo cada fila de izquieda a derecha. Sumar los datos de la matriz X y hallar su promedio. */ #include<iostream> #include<conio.h> #include<iomanip> using namespace System; using namespace std; void main() { //Declarar la matriz int X[20][20]; int A; cout<<"\n Digite el numero de filas que desee utilizar (maximo 20) "; cin>>A; int B; cout<<"\n Digite el numero de columnas que desee utilizar (maximo 20) "; cin>>B; //Ingresar datos a la matriz int sumat=0; for(int a=0; a<=A-1; a++) { int suma=0; for(int b=0; b<=B-1; b++) { cout<<"\n Digite el dato en la posicion "<<a+1<<","<<b+1<<" : "; cin>>X[a][b]; suma+=X[a][b]; } cout<<"\n Suma de la fila "<<a+1<<" es: "<<suma; sumat+=suma; } cout<<"\n Suma de los datos es: "<<sumat; float D=sumat/(A*B); cout<<"\n El promedio de de la matriz es: "<<D; for(int i=0; i<=A-1; i++) { for(int e=0; e<=B-1; e++) { cout<<"\n\n Matriz en su posicion "<<i+1<<","<<e+1<<"="<<X[i][e]; } } getch(); }

14/06/2011

Recuerdo

/* REALIZAR un programa que permita ingresar datos a una matriz llamada NOTAS de A filas y M columnas. Cada fila de la matriz representa un alumno y cada columna representa una materia que cursa cada alumna. En un vector llamado alumnos se almacenaran los nombres de los ALUMNOS y un vector llamado MATERIAS se almacenaran los nombres de las asignaturas cursadas por cada alumno. (ver hoja de excel) Calcular el promedio en un vector llamado Calcular el promedio en un vector llamado de notas de cada alumno y el resultado almacenarlo PROMEST de notas de cada materia y el resultado almacenarlo PROMASI

Imprimir el nombre del alumno mas sobresaliente junto con su promedio definitivo. Imprimir el nombre de la materia cuyo promedio fu el mas bajo y cuanto fu.

*/ #include<iostream> #include<iomanip> #include<conio.h> //#include<stringcopy> using namespace System; using namespace std; void main() { Console::BackgroundColor::set(ConsoleColor::White); Console::ForegroundColor::set(ConsoleColor::Black); Console::Clear(); cout<<"\n Digite el n\xA3mero de estudiantes que desea evaluar: "; int A; cin>>A; cout<<"\n Ahora digite el n\xA3mero de materias: "; int M; cin>>M; char ALUMNOS[50][50]; for (int h=0; h<=A-1; h++) { cout<<"\n Digite el nombre del estudiante "<<h+1<<" "; cin.ignore(); cin.getline(ALUMNOS[h],50); } char MATERIAS[50][50]; for (int m=0; m<=M-1; m++) { cout<<"\n Ahora digite el nombre de la materia "<<m+1<<" "; cin.ignore(); cin.getline(MATERIAS[m],50); } float NOTAS[50][50]; for (int f=0; f<=A-1; f++) { cout<<"\n Ingrese las notas del estudiante "<<ALUMNOS[f]<<" "; for (int c=0; c<=M-1; c++) { cout<<"\n Ingrese la nota de "<<MATERIAS[c]<<" "; cin>>NOTAS[f][c]; } }

28/07/2011
/* Realizar un programa que permita ingresar los datos a dos vectores F y G de t y u posiciones (t+u=par)

respectivamente. Crear un vector H con los elementos de F y G. Crear un vector I con datos que estan en pociciones pares (para el usuario) de H. Crear un vector J con datos que estan en posiciones impares (para el usuario) de H. Crear un vector K con la multiplicacin cruzada de I y J empezando con la ultima posicion de I y la primera de J. Imprimir todos los arreglos. */ #include<iostream> #include<iomanip> #include<conio.h> using namespace System; using namespace std; void main() { float F[20], G[20], H[20], I[20], J[20], K[20]; int T, U; do { cout<<" Ingrese el numero de elementos que desea en cada vector (F, G). Tenga en cuenta que la suma de su cantidad de elementos sea par: "; cout<<"\n vector F: "; cin>>T; cout<<"\n Vector G: "; cin>>U; } while ((T+U)%2!=0); //Se ingresan datos ( en este caso utilizando mientras que) cout<<"\n"; int f=0; while (f<=T-1) { cout<<" F["<<f+1<<"]: "; cin>>F[f]; f++; } //Ingresar datos al vector G (empleando hacer mientras) cout<<"\n"; int g=0; do { cout<<" G["<<g+1<<"]: "; cin>>G[g]; g++; } while (g<=U-1); //Crear el vector H int i; for (i=0; i<=T-1; i++)

{ H[i]=F[i]; } int r=0; for (int j=i; j<=i+U-1; j++) { H[j]=G[r]; r++; } //Vector I (datos en las posiciones pares de H) y el vector J (datos en las posiciones impares de H) int y=0, z=0; for (int h=0; h<=T+U-1; h++) { if (h%2!=0) { I[y]=H[h]; y++; } else { J[z]=H[h]; z++; } } //Vector K (multiplicacion cruzada de I y J, empezando ultima posicin de I) int n=y-1; for (int k=0; k<=((T+U)/2)-1; k++) { K[k]=I[n]*J[k]; n--; } //Impresion del arreglo H cout<<"\n Vector H, apartir de la union de los vectores F y G "; cout<<"\n"; for (int w=0; w<=T+U-1; w++) { cout<<"\n H["<<w+1<<"]: "<<H[w]; } //Imprimir I y J cout<<"\n\n Vector I, apartir de H "; cout<<"\n"; for (int t=0; t<=y-1; t++) { cout<<"\n I["<<t+1<<"]: } cout<<"\n\n Vector J, apartir impares de H "; cout<<"\n"; for (int u=0; u<=y-1; u++) { cout<<"\n J["<<u+1<<"]: } de los elementos en posiciones pares

"<<I[t]; de los elementos en posiciones

"<<J[u];

//Impresin del arreglo K cout<<"\n Vector K, apartir de la multiplicacion cruzada de I, J"; cout<<"\n"; for (int m=0; m<=y-1; m++) { cout<<"\n K["<<m+1<<"]: "<<K[m]; } getch();

Pantallazo

ACTIVIDAD CONJUNTOS
/* Relizar un programa que permita ingresar dos vectores A y B de dimenciones N y M respectivamente, realizar las siguientes operaciones:

AUB= un vector AnB= un vector A-B= un vector B-A= un vectos Imprimir todos */

C D E F los arreglos

#include<iostream> #include<iomanip> #include<conio.h> using namespace System; using namespace std; void main() { //ingresar datos float A[20], B[20], C[20], D[20], E[20], F[20], C1[20], D1[20]; int N, M; cout<<" Ingrese el numero de elementos que desea para cada vector A y B "; cout<<"\n Vector A "; cin>>N; cout<<"\n Vector B "; cin>>M; cout<<"\n A continuacion Llene los espacios del vector A "; for (int a=0; a<=N-1; a++) { cout<<"\n A["<<a+1<<"]: "; cin>>A[a]; } cout<<"\n\n A continuacion Llene los espacios del vector B "; for (int b=0; b<=M-1; b++) { cout<<"\n B["<<b+1<<"]: "; cin>>B[b]; } //Vector C=AUB int c; for (c=0; c<=N-1; c++) { C1[c]=A[c]; } int c2=0; int c1; for (c1=c; c1<=(N+M)-1; c1++) { C1[c1]=B[c2]; c2++; } //Eliminar elementos repetidos para el vector C float cont, num; int z=0, k, i, j=0; float Ca[20]; for (i=0;i<=c1-1;i++) { cont=0;

} } //Vector D=AnB int d=0; for (int a1=0; a1<=N-1; a1++) { for (int b1=0; b1<=M-1; b1++) { if (A[a1]==B[b1]) { D1[d]=A[a1]; d++; } } } //Eliminar repetidos de D float con, nu; int z1=0, k1, i1, j1=0; float Da[20]; for (i1=0;i1<=d-1;i1++) { con=0; nu=D1[i1]; Da[j1]=nu; j1++; for (k1=0; k1<=d-1; k1++) { if (Da[k1]==nu) { con++; } } if (con==1 ) { D[z1]=nu; z1++; } } //Vector E=A-B int q1, cont1, w1, e=0; for (q1=0; q1<=N-1; q1++) {

num=C1[i]; Ca[j]=num; j++; for (k=0; k<=c1-1; k++) { if (Ca[k]==num) { cont++; } } if (cont==1 ) { C[z]=num; z++;

cont1=0; for (w1=0; w1<=M-1; w1++) { if (A[q1]==B[w1]) { cont1++; } } if (cont1==0) { E[e]=A[q1]; e++; } } //Vector F=B-A int q2, cont2, w2, f=0; for (q2=0; q2<=M-1; q2++) { cont2=0; for (w2=0; w2<=N-1; w2++) { if (B[q2]==A[w2]) { cont2++; } } if (cont2==0) { F[f]=B[q2]; f++; } } //Imprimir Vector C cout<<"\n\n Vector C=AUB"; for (int c3=0; c3<=z-1; c3++) { cout<<"\n C["<<c3+1<<"]: "<<C[c3]; } //Imprimir vector D cout<<"\n\n Vector D=AnB "; if (d==0) { cout<<" Vacio"; } else { for (int d1=0; d1<=z1-1; d1++) { cout<<"\n D["<<d1+1<<"]: "<<D[d1]; } } //Imprimir vector E cout<<"\n\n Vector E=A-B ";

if (e==0) { cout<<" Vacio"; } else { for (int e1=0; e1<=e-1; e1++) { cout<<"\n E["<<e1+1<<"]: "<<E[e1]; } } //Imprimir vector F cout<<"\n\n Vector F=B-A "; if (f==0) { cout<<" Vacio"; } else { for (int f1=0; f1<=f-1; f1++) { cout<<"\n F["<<f1+1<<"]: "<<F[f1]; } } getch ();

Atividad 02/08/2011, 15% del parcial Luisa Fernanda Ruiz Jimnez 2100131

Yojanes A. Rodrguez Velsquez

2100123

/* Realizar un programa que permita ingresar datos a una matriz D de F filas y T columnas. Adems ingresar datos a otra matriz E de A filas y B columnas. Crear un vector H, con los datos de la diagonal principal de D mas los datos de la diagonal secundaria de E. Crear un vector I con los datos de la diagonal secundaria de D y de la principal de E. Crear un vector J con los datos de I y H ascendentemente Vale un 15% del parcial II Entregar a las 7 y 40 am Grupos de dos personas No hay preguntas al docente Vale el procedimiento como se trate de hacer, No copiar. */ #include<iostream> #include<iomanip> #include<conio.h> using namespace System; using namespace std; void main() { //Ingresar datos float D[20][20], E[20][20], H[40], I[40], J[40]; int F, T; int A, B; do { cout<<"Ingresar la dimension de la matriz D (filas-columnas), la matriz debe ser cuadrada \n"; cin>>F>>T; } while (F!=T); cout<<" \n Digite los valores de la matriz "; for (int f=0; f<F; f++) { for (int t=0; t<T; t++) { cout<<" \n D["<<f+1<<"],["<<t+1<<"]: "; cin>>D[f][t]; } } do { cout<<"\n\nIngresar la dimension de la matriz E (filascolumnas), la matriz debe ser cuadrada \n";

cin>>A>>B; } while (A!=B); cout<<" \n Digite los valores de la matriz "; for (int a=0; a<A; a++) { for (int b=0; b<B; b++) { cout<<" \n E["<<a+1<<"],["<<b+1<<"]: "; cin>>E[a][b]; } } //Procesamiento de datos //Operar vector H int h=0; for (int f1=0; f1<F; f1++) { for (int t1=0; t1<T; t1++) { if (f1==t1) { H[h]=D[f1][t1]; h++; } } } int h1=h; for (int a1=0; a1<A; a1++) { for (int b1=0; b1<B; b1++) { if ((a1+b1)==A-1) { H[h1]=E[a1][b1]; h1++; } } } //Operar el vector I int i=0; for (int f2=0; f2<F; f2++) { for (int t2=0; t2<T; t2++) { if ((f2+t2)==F-1) { I[i]=D[f2][t2]; i++; } } } int i1=i; for (int a2=0; a2<A; a2++) { for (int b2=0; b2<B; b2++)

{ if (a2==b2) { I[i1]=E[a2][b2]; i1++; }

} } //Operar el vector J=H+I int j=0, h3=0; do { J[j]=H[h3]; j++; h3++; } while (h3<h1); int j1=j, i3=0; while (i3<i1) { J[j1]=I[i3]; j1++; i3++; }

//Ordenar vector J=J1 for (int y=0; y<=j1-2; y++) { for (int x=y+1; x<=j1-1; x++) { if (J[y]>J[x]) { float Temp=J[x]; J[x]=J[y]; J[y]=Temp; } } } //Imprimir vector H cout<<"\n\n Vector H"; for (int h2=0; h2<h1; h2++) { cout<<"\n H["<<h2+1<<"]: "<<H[h2]; } //Imprimir vector I cout<<"\n\n Vector I"; for (int i2=0; i2<i1; i2++) { cout<<"\n I["<<i2+1<<"]: "<<I[i2]; } //Imprimir vector J cout<<"\n\n Vector J"; for (int j2=0; j2<j1; j2++) {

cout<<"\n J["<<j2+1<<"]: "<<J[j2]; } getch (); }

Potrebbero piacerti anche