06/11/2011, 12:59
|
| | Fecha de Ingreso: noviembre-2011
Mensajes: 1
Antigüedad: 13 años, 1 mes Puntos: 0 | |
sar una - funcion con vector- en un procedimiento el cual tmbn requeria dicho vector codigo:
Código:
#include <iostream.h>
using namespace std;
//lo que hace el programa es hallar la cantidad de aprobados
//sin dar examen sustitutorio ( el cual sustituye la nota mas baja)
//y la cantidad de aprobados despues de dar examen sustitutorio
void llenarNota(float X[],int dim);
float prom(float X[], int dim);
void susti(float X[], int dim);
int ubiMenor(float X[], int dim);
void susti(float X[], int *sinSusti,int *conSusti,float pr);
int main(){
int num=5,n,sin=0,con=0,i,sinSusti,conSusti;
float notas[5],p,k;
cout<<"Ingrese cantidad de alumnos: ";
cin>>n;
for(i=0;i<n;i++){
cout<<" Alumno "<<i+1<<endl;
llenarNota(notas,num);
cout<<endl;
p=prom(notas,num);
k=ubiMenor(notas,num);
cout<<"ubi antes de entra ala funcion susti"<<k<<endl;
cout<<"Promedio antes de entrar a la funcion susti= "<<p<<endl;
susti(notas, &sinSusti, &conSusti,p);
cout<<endl;
sin=sin+sinSusti;
con=con+conSusti;
}
cout<<"sin "<<sin<<" con "<<con<<endl;
system("PAUSE");
return 0;
}
void llenarNota(float X[],int dim){
int i;
float N;
for(i=0;i<dim;i++){
cout<<i+1<<"Nota: ";
cin>>N;
X[i]=N;
}
}
float prom(float X[], int dim){
int i;
float sum=0,prm;
for(i=0;i<dim;i++){
sum=sum+X[i];
}
prm=sum/dim;
return prm;
}
void susti(float X[], int *sinSusti,int *conSusti,float pr){
int sinS=0,conS=0,num=5,u;
float s,p,notas[5],d;
//al parecer no e puede poner vectores dentro de un procedimiento saque
// el promedio fuera para q lo pidiese funciona
if(pr>10.5){
sinS=1;
}
else{
//¿COMO USO LA FUNCION ubiMenor aki dentro?
//afuera si funciona
//el prom tmbn bota basura aki dentro de la funcion
//lo que pienso es q 'notas' y 'dim' se toman como nuevas variables
//por lo tanto estan vacias como hago, si es asi,para usarlas aki??
//sin tener q volver a llenarlas claro
u=ubiMenor(notas,num);
cout<<"la ubicacion del menor es: "<<u<<endl;
cout<<"Ingresar nota q sustituir"<<endl;
cin>>s;
X[u]=s;
d=prom(notas,num);
cout<<"Prom despues de sustituir "<<d<<endl;
if(d>10.5)
{conS=1;
}
}
*conSusti=conS;
*sinSusti=sinS;
}
int ubiMenor (float X[], int dim){
int j=0,i;
float temp=X[0];
for(i=0;i<dim;i++)
if (X[i]<temp){
temp=X[i];
j=i;
}
return j;
}
E podido hacerlo en el main normal pero dentro de otro procedimiento no
Ayuda porfa de antemano gracias por su tiempo |