Você está na página 1de 5

UNIVERSIDAD NACIONAL DE CAJAMARCA

Norte de la Universidad Peruana


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");

}