FACULTAD DE INGENIERIA Escuela Acadmico Profesional de Ingeniera de Minas
Practica de algoritmos Pgina 1
PRACTICA CALIFICADA 01. Utilizando estructuras realizar los siguientes programas que le permitan: a. Ingresar N minerales y luego determinar que mineral lo altera fsicamente. #include <iostream> using namespace std; struct mineral {float dureza; char nombre [20]; char nomenclatura [20]; } Void main () {int vnm=0; float vdur=0; Char vb[20]; struct mineral amin[20]; cout<<"ingrese nmero de minerales:"; Cin>>vnm; for(int vc=0;vc<vnm;vc++) {cout <<"nombre:"<<"\t"; cin>>amin[vc].nombre; cout <<"dureza:"<<"\t"; cin>>amin[vc].dureza; cout <<"nomeclatura:"<<"\t"; cin>>amin[vc].nomenclatura; }
UNIVERSIDAD NACIONAL DE CAJAMARCA Norte de la Universidad Peruana FACULTAD DE INGENIERIA Escuela Acadmico Profesional de Ingeniera de Minas
Practica de algoritmos Pgina 2
cout<<"mineral a evaluar:"<<"\n"; cin>>vb; for(int i=0;i<vnm;i++) if(strcmp(vb,amin[i].nombre)==0) {cout<<amin[i].nombre<<"\t"<<amin[i].dureza; vdur=amin[i].dureza; } for (int c=0;c<vnm;c++) if(amin[c].dureza>vdur) cout<<amin[c].nombre<<"\n"; system("pause"); }
UNIVERSIDAD NACIONAL DE CAJAMARCA Norte de la Universidad Peruana FACULTAD DE INGENIERIA Escuela Acadmico Profesional de Ingeniera de Minas
Practica de algoritmos Pgina 3
02. Utilizando funciones lea 2 matrices de orden N*M y presente: a. Su suma b. Valor mximo c. Valor mnimo
#include <stdio.h> #include <stdlib.h> #define f 2 #define c 3 Int main() {int matrix[f][c]; int cont,x,w; int suma=0,a,m,menor,mayor; for(x=1;x<=f;x++){ //CAPTURA DE DATOS for(w=1;w<=c;w++){ printf("m[%d][%d]=",x,w); scanf("%d",&cont); matrix[x][w]=cont; system("cls"); } } printf("Matriz :\n"); for(x=1;x<=f;x++){ //A-MUESTRA DATOS for(w=1;w<=c;w++){ printf("%d",matrix[x][w]); } printf("\n\n"); } printf("Suma de elementos :"); for(x=1;x<=f;x++){ //B-Elemntos Sumados for(w=1;w<=c;w++){ UNIVERSIDAD NACIONAL DE CAJAMARCA Norte de la Universidad Peruana FACULTAD DE INGENIERIA Escuela Acadmico Profesional de Ingeniera de Minas
Practica de algoritmos Pgina 4
suma=suma+matrix[x][w]; } } printf("%d\n",suma); Printf("Elemento menor :"); menor = matrix[1][1]; for(x=1;x<=f;x++){ //D-Busca el menor for(w=1;w<=c;w++){ a=matrix[x][w]; if(a<=menor) menor = a; else menor = menor; } } printf("%d\n",menor); printf("Elemento mayor :"); mayor = matrix[1][1]; for(x=1;x<=f;x++){ //E-Busca el mayor for(w=1;w<=c;w++){ a=matrix[x][w]; if(a>mayor) mayor = a; else mayor = mayor; } } printf("%d\n",mayor);
system("pause");
} UNIVERSIDAD NACIONAL DE CAJAMARCA Norte de la Universidad Peruana FACULTAD DE INGENIERIA Escuela Acadmico Profesional de Ingeniera de Minas
Practica de algoritmos Pgina 5
03. Utilizando arreglos lea un nmero entero en base 10 y, convirtalo a otra base menor que 10. #include<iostream> Using namespace std; Void main (void) { int n, inv; int base; cout<<"ingrese nmero en base 10:" ; cin>>n; cout<<"ingrese base menor que 10:" ; cin>>base; inv=0; while (n>0) { inv =10*inv +n% base;//porsentaje significa permite almacenar residuo n=n/base; } while (inv>0)//bucle siempre se trabaja as { n=10*n +inv%10;// se utiliza para invertir el orden de los residuos inv = inv/10; } cout<<"el numero equivale a:"<<n<<"en base"<<base; System ("pause");