Foros del Web » Programación para mayores de 30 ;) » C/C++ »

sar una - funcion con vector- en un procedimiento el cual tmbn requeria dicho vector

Estas en el tema de sar una - funcion con vector- en un procedimiento el cual tmbn requeria dicho vector en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/11/2011, 12:59
 
Fecha de Ingreso: noviembre-2011
Mensajes: 1
Antigüedad: 12 años, 5 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
  #2 (permalink)  
Antiguo 07/11/2011, 04:38
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: sar una - funcion con vector- en un procedimiento el cual tmbn requeria di

Hay un problema principal y es que tal y como escribes cuesta muchísimo entenderte y no creo que te lleve tanto tiempo escribir de manera que sea agradable responderte.

Si quieres que te conteste alguien, replantea la pregunta sin utilizar acortamientos en las palabras, por favor.
  #3 (permalink)  
Antiguo 07/11/2011, 15:08
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: sar una - funcion con vector- en un procedimiento el cual tmbn requeria di

Si deceas ayuda intenta escribir mejor porfavor y el codig ponerlo con la sangria correspondiente (espacios).

Asi viendolo el error que veo talvez es el de ubiMenor que envias notas la cual nunca llenas, si pudieras usar el metodo Clone() del de X[] que recibe susti.

Y ya con eso pudieras utilizar notas con el clone de X, bueno eso creo que es lo que preguntas ya que no entiendo muy bien ademas de que si aun sustituyendo una nota del de menor nota no pasa de 10.5 ? ahi estaria bn talvez usar un while(); bueno eso si deceas asegurar que si sea mayor a 10.5 el promedio jeje

Etiquetas: funcion, procedimiento, programa, variables, vectores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:03.