int main()
{
    int b,e;
    do
    {
        printf("Ingrese una base: ");
        scanf("%d", &b);
    }
    while(b<0);
    
    do
    {
        printf("Ingrese el exponente: ");
        scanf("%d", &e);
    }
    while(e<0);
    
    if (e==0)
    {
        printf("%d elevado a la %d es: 1", b, e);
    }
    else
    {
        printf("%d elevado a la %d es: %d", b, e, exponente(b, e));
    }
    return 0;
}
Exemplo n.º 2
0
void biseccion(int opcion)
{
    int *ptPolinomio, grado;
    int n;
    float li,ls,e,d,a,z,ex=2.7182818284;
    float fa,fb,pm,fx;
    
    if(opcion==DEFINE_POLINOMIO){
        printf("Define el grado del polinomio:\n");
        scanf("%d", &grado);
        ptPolinomio = definePolinomio(grado);
        leePolinomio(ptPolinomio, grado);
    }
    
    printf("Ingresa el Limite inferior : \n");
    scanf("%f",&li);
    printf("Ingresa el Limite Superior : \n");
    scanf("%f",&ls);
    printf("Ingresa el Error de tolerancia : \n");
    scanf("%f",&e);
    pm=(li+ls)/2;
    
    switch(opcion)
    {
        case 1:
            fa=seno(li);
            fb=seno(ls);
            fx=seno(pm);
            break;
             
        case 2:
            fa=senoCuadrado(li);
            fb=senoCuadrado(ls);
            fx=senoCuadrado(pm);
            break;
             
        case 3:
            fa=exponente(li);
            fb=exponente(ls);
            fx=exponente(pm);
            break;
             
        case 4:
            fa=senoCoseno(li);
            fb=senoCoseno(ls);
            fx=senoCoseno(pm);
            break;
            
        case 5:
            fa=evaluaPolinomio(li, ptPolinomio, grado);
            fb=evaluaPolinomio(ls, ptPolinomio, grado);
            fx=evaluaPolinomio(pm, ptPolinomio, grado);
            break;
            
    }
    
    a=(ls-li);
    if(a<0){
        d=(-1*a);
    }else{
        d=a;
    }
    
    if (d<e){
        z=0 ;
    }else{
        z=1;
    }
    
    n=0;
    printf("\nI LI\tLS\tf(LI)\tf(LS)\tPM\tf(PM)\tf(LI)*f(PM)\t\"|LS-LI|<Error\"\n");
    printf("0 %.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%f\tFalso\n",li,ls,fa,fb,pm,fx,fa*fx);
    while(z)
    {
    n=n+1;
    if ((fa*fx)>0){
                   li=pm;
                   }
    if ((fa*fx)<0){
                   ls=pm;
                   }
    pm=(li+ls)/2;
    
    switch(opcion)
    {
        case 1:
            fa=seno(li);
            fb=seno(ls);
            fx=seno(pm);
            break;
             
        case 2:
            fa=senoCuadrado(li);
            fb=senoCuadrado(ls);
            fx=senoCuadrado(pm);
            break;
             
        case 3:
            fa=exponente(li);
            fb=exponente(ls);
            fx=exponente(pm);
            break;
             
        case 4:
            fa=senoCoseno(li);
            fb=senoCoseno(ls);
            fx=senoCoseno(pm);
            break;
            
        case 5:
            fa=evaluaPolinomio(li, ptPolinomio, grado);
            fb=evaluaPolinomio(ls, ptPolinomio, grado);
            fx=evaluaPolinomio(pm, ptPolinomio, grado);
            break;
    }
    
    a=(ls-li);
    if(a<0){
    d=(-1*a);
}
else d=a;
    if (d<e)
    {
                z=0 ;
                 }
    else
    z=1;
     if (z==0){
               printf("%d %.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%f\tDetener\n",n,
                       li,ls,fa,fb,pm,fx,fa*fx);
               }
               else
    printf("%d %.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%f\tFalso\n",n,li,ls,fa,fb,
             pm,fx,fa*fx);
    }
    printf("\nLa raiz es : %.9f \n\n",pm);
    free(ptPolinomio);

}