Informe 2 da unidad lp

670 views

Published on

PROGRAMACION EN C++

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
670
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
61
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Informe 2 da unidad lp

  1. 1. 2012 PROGRAMACION EN C++ BARRIOS URBINA ADMER
  2. 2. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIALCapitulo 7: PunterosProblema # 3 Ingresar el orden y cada uno de sus elementos de una matriz. Si ésta es cuadrada colocar un número aleatorio comprendido entre 33 y 74 en cada elemento de la diagonal secundaria y los demás elementos se deben dejar con la misma información, reportar esta nueva matriz. En caso contrario, reportar un vector cuyos elementos están formados por el promedio de los elementos que se encuentran en las columnas impares y en otros casos por ceros (0).Usar punteros. CODIFICACIÓN#include<iostream.h>#include<conio.h>#include<math.h>#include<stdlib.h>main(){ int n, m, i, s[20],v[20][20],j, mayor, prom [20],x[20];clrscr();randomize();cout<<" Numero de filas : "; cin>>n;cout<<" Numero columnas : ";cin>>m;for (i=1;i<=n; i++){ for(j=1;j<=m; j++){ cout<<"V["<<i<<"]["<<j<<"]:" cin>>*(*(v+i)+j); } }cout<<"MATRIZ ORIGINAL:"<<”nn”;for(i=1;i<=n; i++){ for(j=1;j<=m; j++) cout<<*(*(v+i)+j);cout<<" "; cout<<endl;} if(m==n){ for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ if(i+j==n+1)*(*(v+i)+j)=rand()%(74-33+1)+33; } } cout<<" NUEVA MATRIZ :"<<endl; for(i=1;i<=n;i++){ for(j=1;j<=m;j++) cout<<*(*(v+i)+j);cout<<" ";cout<<”n”; } Página 1 LENGUAJE DE PROGRAMACIÓN EN C++
  3. 3. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIAL } else { for(j=1;j<=m;j++){ *(s+j)=0; for(i=1;i<=n;i++)*(s+j)=*(s+j)+*(*(v+i)+j); *(prom+j)=*(s+j)/n; } cout<<"PROMEDIO DE CADA COLUMNA:"<<”n”; for(j=1;j<=m; j++) cout<<"p["<<j<<"]:"<<*(prom+j)<<endl; for(j=1;j<=m;j++) if(j%2!=0)*(x+j)=*(prom+j); for(j=1;j<=m;j++)if(j%2==0)*(x+j)=0; cout<<" NUEVO VECTOR FORMADO :"<<”n”; for(j=1;j<=m;j++)cout<<"X["<<j<<"]:"<<*(x+j)<<endl; }getch(); }Problema # 8 Ingresar el numero de vacas de un establo y el valor del Kg. Al peso vivo en el establo. Así mismo ingresar para cada vaca su : (1) código(cuatro dígitos), (2) Peso en Kg, (3) edad en años(con dos decimales), y (4) rendimiento diario de leche ( en litros) durante el último año. Sólo deben seguir en producción aquellas vacas que cumplan las tres condiciones siguientes: a) Tener un peso de 450 Kg. b) Haber brindado durante el último año un rendimiento diario medio mayor de 25 litros c) Tener una edad menor de 8 años. CODIFICACIÓN#include<stdio.h>#include<conio.h>#include<iostream.h>void main() { float vkg, pe[20], ed[20],re[20],s=0; int cal[20],cont=0,n,i; char cod [5]; clrscr(); Página 2 LENGUAJE DE PROGRAMACIÓN EN C++
  4. 4. UNIVERSIDAD NACIONAL DE TRUJILLOINGENIERÍA INDUSTRIAL do{ cout<<"# TOTAL DE VACAS: ";cin>>n; } while(n<=0); do{ cout<<" VALOR (del Kg) AL PESO VIVO: "; cin>>vkg; } while (vkg<=0); cout<<endl<<" DATOS DE LAS VACAS VAQUERAS"<<”n”; for (i=1;i<=n;i++){ cout<<"VACA["<<i<<"]: "<<endl; cout<<"CODIGO["<<i<<"]: "; gets(cod); do{ cout<<"PESO["<<i<<"]: ";cin>>*(pe+i); } while(*(pe+i)<=0); do{ cout<<"EDAD["<<i<<"]: "; cin>>*(ed+i); } while(*(ed+i)<=0); do{ cout<<"RENDIMIENTO DE LECHE(diario)["<<i<<"]: "; cin>>*(re+i); cout<<endl; } while(*(re+i)<=0); } for (i=1;i<=n;i++) if (*(pe+i)>=450 && *(re+i)>25 && *(ed+i)<8) *(cal+i)=1; else *(cal+i)=0; for (i=1;i<=n;i++){ cout<<endl<<"VACA ["<<i<<"]:"<<endl<<" CODIGO: "<<cod[i]<<" ; PESO: "<<*(pe+i)<<" ;EDAD: "<<*(ed+i);cout<<endl<<" RENDIMIENTO DIARIO: "<<*(re+i)<<" ; CALIFICATIVO: "<<*(cal+i);cout<<endl; if (*(cal+i)==0) { s=s+vkg**(pe+i);cont++; } } cout<<”n”<<"TOTAL DE VACAS EN VENTA : "<<cont;<<”n”; cout <<"IMPORTE TOTAL DE LAS VACAS VENDIDAS : "<<s; getch(); Página 3 LENGUAJE DE PROGRAMACIÓN EN C++
  5. 5. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIAL } Capitulo 8: Ordenamiento y BúsquedaProblema # 3 Ingresar el numero de alumnos de una sección, luego ingresar los respectivos nombres, números de matrícula, y calificación en una asignatura. Se desea reportar tres listados consecutivos y ordenados: El primero en forma ascendente por numero de matrícula, el segundo por orden alfabético del nombre y el tercero en forma descendente por nota. CODIFICACIÓN#include<conio.h>#include<iostream.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<ctype.h>main(){ int n, x ; char nombres[10][15]; int matricula[10]; int nota[10]; int i, j, t, y ; char *h; clrscr(); cout<<"ingrese el numero de alumnos:";cin>>n; for(i=1;i<=n;i++){ cout<<"Nombre del alumno:";gets(*(nombres+i)); cout<<"numero de matricula:";cin>>*(matricula+i); cout<<"nota en la asignatura:";cin>>*(nota+i);} clrscr(); cout<<"eliga una operacion del menu:"; cout<<1. Listado por numero de matricula"; cout<<2. Listado por nombre"; cout<<3. Listado por nota"; do{ cout<<"opcion : "; cin>>x; } while(n<1||n>3); Página 4 LENGUAJE DE PROGRAMACIÓN EN C++
  6. 6. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIAL switch (x){ case 1:{ for(i=1;i<=n-1;i++){ for(j=i+1;j<=n;j++){ if(*(matricula+i)>*(matricula+j)){ t=*(matricula+i);*(matricula+i)=*(matricula+j);*(matricula+j)=t; } } cout<<"nº de matricula nombre del alumno nota:"<<endl; for(i=1;i<=n;i++){ cout<<*(matricula+i)<<" "<<*(nombres+i)<<" "<<*(nota+i)<<endl; } break; } case 3:{ for(i=1;i<=n-1;i++){ for(j=i+1;j<=n;j++){ if(*(nota+i)>*(nota+j)){t=*(nota+i);*(nota+i)=*(nota+j);* (nota+j)=t; } } cout<<"nº de matricula nombre del alumno nota:"<<endl; for(i=1;i<=n;i++){ cout<<*(matricula+i)<<" "<<*(nombres+i)<<" "<<*(nota+i)<<endl; } break; } } }}getch();} Página 5 LENGUAJE DE PROGRAMACIÓN EN C++
  7. 7. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIALProblema # 10 Ingresar un conjunto de 12 palabras. Luego Ingresar otra palabras, si ésta no es igual a alguna de las doce anteriores, el proceso sera considerado como un error. Reportar el resultado. CODIFICACIÓN#include<iostream.h> #include<conio.h> #include<stdio.h> #include<string.h> #include<stdlib.h>main(){ int j, I ; char inserte[10]; // lo que se inserta char clave[11][10]={"GATO","GUEPARDO","JAGUAR","LEON","LEOPARDO", "LINCE", "PANTERA","PUMA","SERVAL","TIGRE" } clrscr(); randomize(); j=rand ()%10; i=0;cout<<"RESULTADO:"<<clave[j]<<endl<<endl; //esto solo para comprobarcout<<"INGRESAR CLAVE:"; gets (inserte);strupr(inserte);if( strcmp(clave[j],inserte)==0)cout<<"FELICITACIONES";else cout<<"ERROR"<<endl;cout<<"RESULTADO:"<<clave[j];getch();} Página 6 LENGUAJE DE PROGRAMACIÓN EN C++
  8. 8. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIALCapitulo 9: Procedimiento y FuncionesProblema # 3 Ingresra tres datos. Si cualquiera de ellos es multiplo de tres determiner el mayor dato y calcular la suma acumulativa de los numerous natrales hasta dicho numero. En caso contrario, determinar el factorial del tercer valor y las sumas acumulativas de los naturales hasta cada uno de los primeros datos. Calcular y reportar el producto de las sumatorias dividido entre el factorial. Crear las funciones Sumatoria() y Factorial (). CODIFICACIÓN#include<iostream.h>#include<conio.h>#include<math.h>longint factorial(int);long int sumatoria(int);void main() { int a, b, c ; int mayor; float q; clrscr(); do { cout<<"Ingrese primer valor: "; cin>>a; cout<<"nIngrese segundo valor: "; cin>>b; cout<<"nIngrese tercer valor: "; cin>>c; } while(a==b || b==c || a==c); if(a%3==0 || b%3==0 || c%3==0) { if(a>b && a>c) cout<<"nnLa suma acumulativa de los naturales hasta” <<a<<" es: "<<sumatoria(a); if(b>a && b>c) cout<<"nnLa suma acumulativa de los naturales hasta” <<b<<" es: "<<sumatoria(b); if(c>a && c>b) cout<<"nnLa suma acumulativa de los naturales hasta” <<c<<" es: "<<sumatoria(c); } else { q=(float)((sumatoria(a))*(sumatoria(b)))/(factorial(c)); cout<<"nnEl cociente del producto de la suma acumulativa de los naturales hasta "<<a<<" y la suma acumulativa de los naturales hasta "<<b<<" entre el factorial de "<<c<<" es: "<<q; } Página 7 LENGUAJE DE PROGRAMACIÓN EN C++
  9. 9. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIAL getch(); }long int factorial(int n) { if(n<=1) return 1; else return n*factorial(n-1); }long int sumatoria(int n){ if(n<=0) return 0;else return n+ sumatoria (n-1); }Problema # 7 Determinar todos los numerous primos que hay entre a y b. Crear la función Primos (). CODIFICACIÓN #include<iostream.h> #include<conio.h> #include<stdlib.h> //variables globales int a; int b; int i; long int primos (int); void main(void){ clrscr(); cout<<"Ingrese Primer valor: "; cin>>a; cout<<"Ingrese Segundo valor: "; cin>>b; if (a<b){ for(i=a;i<=b;i++) { if (primos(i)==1) { cout<<i<<" "; } } } else { for(i=b;i<=a;i++) { if (primos(i)==1) { cout<<i<<" "; } } } getch(); Página 8 LENGUAJE DE PROGRAMACIÓN EN C++
  10. 10. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIAL } //Llamados de Procedimientos y Funciones long int primos (int i){ register int m; register int j; int q; int k; for(m=2;m<=i;m++){ j=2;k=1; while(j<m){ q=(int)m/j; if(m==j*q)k=0; j=j+1;} } return(k); } Capitulo 10: RecursividadProblema # 4 Utilizar un función recursiva que produzca la suma de los dígitos de un valor entero no negativo. CODIFICACIÓN#include<iostream.h>#include<conio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#include<stdio.h>long int sumatoria(int); void main() { int n; clrscr(); cout<<"ingresar numero ";cin>>n; cout<<" sumatoria "<<sumatoria(n); getch(); } long int sumatoria (int n){ if(n<=0) return 0; else return n+sumatoria(n-1); } Página 9 LENGUAJE DE PROGRAMACIÓN EN C++
  11. 11. UNIVERSIDAD NACIONAL DE TRUJILLOINGENIERÍA INDUSTRIALCapitulo 11: EstructurasProblema # 10  Una clínica privada almacena la siguiente información de sus pacientes: Nombre, DNI, dirección, teléfono, fecha de última visita, si pertenece a Es Salud (seguridad social) o no, si tiene alergias y un diagnóstico del paciente. Se desea un programa con las siguientes opciones: a) Introducción de la información. b) Dado el número de DNI de un paciente, presentar toda la información de dicho paciente. c) Listar todos los pacientes con alergias. d) Listar alfabéticamente todos los pacientes que no pertenecen a Es Salud. CODIFICACIÓN #include<iostream.h> #include<conio.h> #include<stdio.h> #include<string.h> main(){ struct clinica{ charnombre[10]; long int DNI; char direccion[10]; long int telefono; char ultvisita[10]; char ESSALUD[3]; char alergias[3]; char diagnostico[10]; } pc[10]; //estructura char aux[10]; int n, m, p ; int i, j, t ; long int dni;//DNI del paciente buscado clrscr(); cout<<"numero de pacientes:";cin>>n; for(i=1;i<=n;i++){ cout<<"DATOS DEL PACIENTE N° : "<<i<<endl; cout<<"nombre :";gets(pc[i].nombre); cout<<"DNI :";cin>>pc[i].DNI; Página 10 LENGUAJE DE PROGRAMACIÓN EN C++
  12. 12. UNIVERSIDAD NACIONAL DE TRUJILLOINGENIERÍA INDUSTRIAL cout<<"direccion :";gets(pc[i].direccion); cout<<"telefono :";cin>>pc[i].telefono; cout<<"fecha de ultima visita :";gets(pc[i].ultvisita); cout<<"pertenece a ESSALUD(si/no):";gets(pc[i].ESSALUD); cout<<"tiene alergias (si/no):";gets(pc[i].alergias); cout<<"diagnostico :"; gets (pc[i].diagnostico); clrscr(); }cout<<"1.dado el DNI presentar datos del paciente:"<<endl;cout<<"2.pacientes con alergias:"<<endl;cout<<"3.lista de pacientes que no pertenecen a ESSALUD:"<<endl;cout<<"4.listado completo de pacientes "<<endl;cout<<"elegiropcion :";cin>>m;clrscr();switch(m) { case 1:{ p=-1; cout<<"ingresar DNI de paciente buscado:";cin>>dni; for(i=1;i<=n;i++){ if(pc[i].DNI==dni) p=i; } if(p!=-1){ cout<<"DATOS DEL PACIENTE N° : "<<p<<endl; cout<<"nombre :"<<pc[p].nombre<<endl; cout<<"DNI :"<<pc[p].DNI<<endl; cout<<"direccion :"<<pc[p].direccion<<endl; cout<<"telefono :"<<pc[p].telefono<<endl; cout<<"fecha de ultima visita :"<<pc[p].ultvisita<<endl; cout<<"pertenece a ESSALUD(si/no):"<<pc[p].ESSALUD<<endl; cout<<"tiene alergias (si/no):"<<pc[p].alergias<<endl; cout<<"diagnostico :"<<pc[p].diagnostico; } break; } case 2: { for(i=1;i<=n;i++){ if(pc[i].alergias=="si") { cout<<"paciente con alergia "<<pc[i].nombre<<endl;}} break; } case 3:{ for(i=1;i<=n;i++){ if(pc[i].ESSALUD=="no") { for(i=1;i<=n-1;i++){ for(j=i+1;j<=n;j++){ if(strcmp(pc[i].nombre,pc[j].nombre)>0){ Página 11 LENGUAJE DE PROGRAMACIÓN EN C++
  13. 13. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIAL strcpy(aux,pc[i].nombre); strcpy(pc[i].nombre,pc[j].nombre ); strcpy(pc[j].nombre,aux); } } } for(i=1;i<=n-1;i++){ cout<<"nombre del paciente no pertenece a ESSALUD : " <<pc[i].nombre<<endl; } } } break; } case 4:{ for(i=1;i<=n-1;i++){ cout<<"nombre de los pacientes (lista general) :"<<pc[i].nombre<<endl;} } break; } getch(); }Problema # 16 Para el inventario de una tienda de productos deportivos se requiere crear un arreglo de estructuras denominado producto, que posea los campos: (A) nombre del producto, (B) número de código (4 dígitos), (C) número de piezas en el almacén, (D) número de piezas compradas, (E) número de piezas vendidas, (F) costo unitario y (G) precio unitario. El programa debe contemplar las siguientes opciones: a) Ingreso de los datos. b) Ingresar el número de código de un artículo e imprimir los datos de dicho artículo. c) Actualización automática del campo (C) usando la información de los campos (D) y (E), después de la actualización a estos dos últimos campos se les reasignará el valor cero. d) Ordenación decreciente por número de código. Página 12 LENGUAJE DE PROGRAMACIÓN EN C++
  14. 14. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIAL CODIFICACIÓN#include<iostream.h>#include<conio.h>#include<string.h>#include<stdio.h>main(){ struct producto{ char nombre[10]; int codigo; int almacen; int compradas; int vendidas; int cunitario; int punitario; int actual;} producto[10]; int n; //cantidad de tipos de productos int i, p, t=0,j,aux; int articulo; //codigo del articulo buscado clrscr();cout<<"ingresar numero de tipos de articulos:";cin>>n;for(i=1;i<=n;i++){ clrscr(); cout<<"INGRESAR DATOS DEL PRODUCTO:"<<i<<endl; cout<<"nombre :";gets(producto[i].nombre); cout<<"codigo :";cin>>producto[i].codigo; cout<<"numero de piezas en almacen:";cin>>producto[i].almacen; cout<<"numero de piezas compradas :";cin>>producto[i].compradas; cout<<"numero de piezas vendidas :";cin>>producto[i].vendidas; producto[i].actual=producto[i].compradas-producto[i].vendidas; cout<<"costo unitario :";cin>>producto[i].cunitario; cout<<"precio unitario :";cin>>producto[i].punitario; } clrscr();p=-1;cout<<"INGRESAR CODIGO DEL ARTICULO DESEADO:";cin>>articulo;for(i=1;i<=n;i++){ Página 13 LENGUAJE DE PROGRAMACIÓN EN C++
  15. 15. UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA INDUSTRIAL if(producto[i].codigo==articulo) p=i; } if(p!=-1){ cout<<"nombre :"<<producto[p].nombre<<endl; cout<<"codigo :"<<producto[p].codigo<<endl; cout<<"numero de piezas en almacen:"<<producto[p].actual<<endl; cout<<"numero de piezas compradas :"<<t<<endl; cout<<"numero de piezas vendidas :"<<t<<endl; cout<<"costo unitario :"<<producto[p].cunitario<<endl; cout<<"precio unitario :"<<producto[p].punitario<<endl; } else cout<<"disculpe no tenemos el articulo que usted busca:"<<endl;for(i=1;i<=n-1;i++){ for(j=i+1;j<=n;j++){ if(producto[i].codigo<producto[j].codigo) { aux=producto[i].codigo ; producto[i].codigo=producto[j].codigo; aux=producto[j].codigo; } } }cout<<"ORDENAMIENTO DECRECIENTE DE CODIGOS:"<<endl;for(i=1;i<=n;i++){ cout<<"codigos:"<<producto[i].codigo<<endl; }getch(); } Página 14 LENGUAJE DE PROGRAMACIÓN EN C++

×