1.- el profesor de edd desea comparar su apresiacion de cantidad de alumnos aprobados del curso, con la encuensta que le hara a los alumnos. El dice que aprobara el 55% siponga que la respuesta de los estudiantes se encuentra en una lista (L) , donde la respuesta es:
0: si esta deacuerdo con el profesor.
1: si no esta deacuerdo con el profesor
se pide :
a.- hacer la funcion acuerdo (L) , que reciba L y retorna el % de alumnos que esta de acuerdo con el profesor
b.- hacer la funcion booleanda porcent(L) , que recibe L, que recibe L y retorna true , si el % que esta de acuerdo con el profesor es mayor o igual a lo que indica , y false en caso contrario.
c.- hacer la funcion agregar(L),que recibe la lista, y agrega 2 nodos ,1 con la cantidad de alumnos que esta deacuerdo y otro al inicion con al cantidad de alumnos que no estan deacuerdo.
#include
ResponderEliminarusing namespace std;
typedef struct Nodo
{
int dato;
struct Nodo *link;
};
typedef Nodo *Lista;
Lista crearLista()
{
Lista L,p;
L=NULL;
for(int i=0;i<6;i++)
{
p=new(Nodo);
p->dato=(i%2);
p->link=L;
L=p;
}
return L;
}
void ImprimirLista(Lista L)
{
cout<<"*Imprmiendo lista..."<dato<link;
}
}
int acuerdo(Lista L)
{
int ac=0;
int tot=0;
while(L!=NULL)
{
if(L->dato==0)
{
ac++;
}
L=L->link;
tot++;
}
return (ac*100)/tot;
}
bool porcent(Lista L)
{
int ac=0;
int tot=0;
int p;
while(L!=NULL)
{
if(L->dato==0)
{
ac++;
}
L=L->link;
tot++;
}
p=(ac*100)/100;
if(p>=55){return true;}
else{return false;}
}
void Agregar(Lista &L)
{
int ac=0,dc=0;
Lista p,q,t;
p=L;
while(p!=NULL)
{
if(p->dato==0){ac++;}
else{dc++;}
p=p->link;
}
q=new(Nodo);
q->dato=dc;
q->link=L;
L=q;
t=new Nodo;
t->dato=ac;
t->link=NULL;
p=L;
while(p->link!=NULL)
{
p=p->link;
}
p->link=t;
}
int main()
{
Lista L;
L=crearLista();
ImprimirLista(L);
cout<<"De acuerdo: "<<acuerdo(L)<<" %"<<endl;
Agregar(L);
ImprimirLista(L);
return 0;
}