Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/11/2011, 12:59
ehouse
 
Fecha de Ingreso: noviembre-2011
Mensajes: 1
Antigüedad: 12 años, 6 meses
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