elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Presentes en la red social de Mastodon


  Mostrar Temas
Páginas: [1] 2
1  Programación / Scripting / Método de Newton en: 25 Abril 2017, 17:41 pm
Me da error el siguiente código. Lo que quiero es mostrar una especie de lista con
 Iteracion 1, valor de la aproximación x
 etc

 este es el código:
 
 
Código:
def f(x): return exp(x)-(5* x**2)-5
def df(x): return exp(x)-(10* x)

def newton(f, df, x0, tol):
    """Calcula una raíz de $f(x)=0$ mediante el método de Newton, a partir de x0"""
   
    max_iters = 100
    iter = 0
    while iter<max_iters:
        x1 = x0-f(x0)/df(x0) # Punto fijo en Newton
        if abs(x1-x0) < tol: #hacemos iteraciones hasta que las dferencias consecutivas sea tol
            return x1 , iter #En la función devolvemos la lista con los dos valores
        x0 = x1
        iter = iter+1
    print ("Error de convergencia")
   
x = newton(f, df, x0=7, tol=1e-11)
print (x)

   
   
   
   




   
   
   
   
   
    c= 1


    for iter in range(1,99):
   
    x1= x0-f(x0)/df(x0)
    x0= x1
    print("iteracion",c,",raiz aproximada,",x0)
    c= c+1
   
2  Programación / Programación C/C++ / Numero feliz en C en: 8 Junio 2016, 12:30 pm
Hola, tengo que hacer un programa que me diga si un número es feliz. No sé como implementarlo. Lo que he hecho es primero que me diga las cifras que tiene el número ingresado y que me diga las cifras que son.
 Aquí está la definición de número feliz: https://es.wikipedia.org/wiki/Número_feliz
    esto es lo que tengo de momento:
   
Código:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define max 100



    int cifras(int n,int i){
        i=1;
    while(n/10>0){
        n=n/10;
        i++;

    }
    return(i);
    }
    void digito(int v[],int n,int digitos,int c ){

       for(c=0;c<digitos;c++){
        v[c]=n%10;
        n=n/10;
       }

    }


       int main(Void){
       int n;
       int i=1;
       scanf("%d",&n);
       int v[max];
       int digitos=cifras(n,i);
    printf("Tiene %d cifras\n",digitos);
    int c;
   digito(v,n,digitos,c);
   for(c=0;c<digitos;c++){
    printf("%d\n",v[c]);
   }

















       system("pause");
       return(0);

       }
Gracias.
 
3  Programación / Programación C/C++ / Contar elementos de un vector en: 18 Enero 2016, 01:16 am
Hola, quisiera saber un código que me dijera para un vector de 10 enteros que:
  El primer elemento esta repetido 2 veces
  El segundo elemento esta repetido 1 veces
.......... etc... Lo he intentado todo y no me sale. Gracias.
Al fin y al cabo es un programa que me diga cuantas veces aparece los elementos de un vector.
4  Programación / Programación C/C++ / factorización de un número en: 14 Enero 2016, 23:26 pm
Hola,  he hecho un programa que me factoriza un número. Me da error, y yo creo que el error está en dónde poner la función return.
Código:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

     int divide(int n,int divisores){
         divisores=2;
     while(n>=divisores){
        while(n%divisores==0){
            n=n/divisores;


        } divisores++;

     }

      return(divisores);
     }







     int main(void){
         int n,divisores;
     printf("dime el numero\n");
     scanf("%d",&n);
    printf("%d\n",divide(n,divisores));

     system("pause");
     return(0);

     }
5  Programación / Programación C/C++ / Decir si dos vectores son iguales en C en: 4 Enero 2016, 12:40 pm
Hola, me encuentro con el mismo problema que con las matrices, en este caso con vectores. Tengo que compararlos y ver si son iguales.
este es el código:
 
Código:
  #include<stdio.h>
        #include<stdlib.h>

        int soniguales(int v[5],int a[5],int aux){
            int i;
        for(i=0;i<5;i++){
        if(v[i]!=a[i]) {
            aux=1;
        }
        }
        return (aux);
        }




    int main(void){
    int v[5],a[5],i,aux;
    for(i=0;i<5;i++){
    scanf("%d",&v[i]);
    }
    for(i=0;i<5;i++){
    scanf("%d",&a[i]);
    }
    soniguales(v,a,aux);

    if(aux==1) printf("Son distintos\n");
    else printf("Son iguales");
   







    system("pause");
    return(0);

    }
6  Programación / Programación C/C++ / Determinar si dos matrices son iguales en: 2 Enero 2016, 20:43 pm
Hola, he hecho un programa que me diga si dos matrices son iguales, y no me compila debido a la unica funcion que hay. El error que dice el compilador es unknown type a.
este es el codigo:
Código:
#include<stdio.h>
#include<stdlib.h>
     int iguales(int m[3][3],a[3][3],int i,int j){

     for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            if(m[i][j]==a[i][j]) return 1;
            else return 0;
        }
     }


     }

     int main(void){
      int m[3][3],i,j;
      int a[3][3];

             for(i=0;i<3;i++){
             for(j=0;j<3;j++){
             scanf("%d",&m[i][j]);
             }

             }
             printf("\n\t");

              for(i=0;i<3;i++){
              printf("\n");
             for(j=0;j<3;j++){

              printf("%6d ",m[i][j]);

             }
             }

             printf("\n");
             for(i=0;i<3;i++){
                for(j=0;j<3;j++){
                    scanf("%d",&a[i][j]);
                }
             }
                printf("\n\t");
                for(i=0;i<3;i++){
                        printf("\n");
                    for(j=0;j<3;j++){
                        printf("%6d ",a[i][j]);
                    }
                }
                printf("\n");

                  if(iguales(m,a,i,j)) printf("Son iguales\n");
                  else printf("No son iguales\n");







             system("pause");
             return(0);
             }

7  Programación / Programación C/C++ / Encontrar el mayor elemento de una matriz y su posicion en: 2 Enero 2016, 19:37 pm
Ya me salió, este es el codigo:
Código:
int main(void){
      int m[3][3],i,j,n,posfila,poscolumna;
      srand(time(NULL));
             for(i=0;i<3;i++){
             for(j=0;j<3;j++){
             scanf("%d",&m[i][j]);
             }

             }
             printf("\n\t");

              for(i=0;i<3;i++){
              printf("\n");
             for(j=0;j<3;j++){

              printf("%6d ",m[i][j]);

             }

             }
             posfila=0;
             poscolumna=0;
             int mayor=m[0][0];
             for(i=0;i<3;i++){
             for(j=0;j<3;j++){

              if(m[i][j]>mayor){
                    mayor=m[i][j];
              posfila=i;
              poscolumna=j;

             }
             }
             } printf("\n%d es el mayor y la posicion es [%d] [%d]\n",mayor,posfila,poscolumna);
       system("pause");
       return(0);

     }
8  Programación / Programación C/C++ / Suma de filas y columnas de una matriz en C en: 30 Diciembre 2015, 21:10 pm
Hola, la verdad es que el código que voy a escribir aquí es un poco lioso, el problema es que al final del todo la matriz que me sale me da error entre medias de la matriz. Cómo hago para escribir la matriz de tamaño 3*3 de manera que al lado del final de cada fila esté la suma de dicha fila y así con todas las filas y lo mismo con las columnas?.Este es el código:
Código:
#include<stdio.h>
#include<stdlib.h>
             int main(void){
             int m[3][3],i,j;
             for(i=0;i<3;i++){
             for(j=0;j<3;j++){
              scanf("%d",&m[i][j]);
             }

             }
             printf("\n\t");

              for(i=0;i<3;i++){
              printf("\n");
             for(j=0;j<3;j++){

              printf("%6d ",m[i][j]);

             }

             }
             printf("\n");
               int suma1,suma2;
               int sumaf[3],sumac[3];
               for(i=0;i<3;i++){
                suma1=0;
                for(j=0;j<3;j++){
                    suma1=suma1+m[i][j];
                }
                sumaf[i]=suma1;
               }

               for(i=0;i<3;i++){
                printf("%d\n",sumaf[i]);
               }
                    for(j=0;j<3;j++){
                suma2=0;
                 for(i=0;i<3;i++){
                    suma2=suma2+m[i][j];
                } sumac[j]=suma2;
               }


              for(j=0;j<3;j++){
                printf("%d\n",sumac[j]);



             }
           printf("\n\t");
             for(i=0;i<3;i++){
                      printf("\n");
                for(j=0;j<3;j++){
                    printf("%d ",m[i][j]);
                    printf("%d ",sumaf[i]);
                }

             }  printf("\n");
             for(j=0;j<3;j++){

                printf("%d" ,sumac[j]);
             }


             system("pause");
             return(0);
             }
9  Programación / Programación C/C++ / Decir si dos vectores son iguales en C en: 28 Diciembre 2015, 17:39 pm
Hola, tengo que hacer un programa en C que me diga si dos vectores son iguales. Esto es lo que yo he hecho: Podeis decirme mis fallos? Gracias
Código:
#include<stdio.h>
#include<stdlib.h>

int soniguales(int v[5],int a[5]){
    int i;
for(i=0;i<5;i++){
if(v[i]=a[i]) return 1;
else return 0;
}





}




    int main(void){
    int v[5],a[5],i;
    for(i=0;i<5;i++){
    scanf("%d",&v[i]);
    }
    for(i=0;i<5;i++){
    scanf("%d",&a[i]);
    }for(i=0;i<5;i++){
    if(soniguales(v[5],a[5])) printf("Son iguales\n");
    else printf("No son iguales\n");


    }

    system("pause");
    return(0);

    }
10  Programación / Programación C/C++ / programa que cambie de base binaria a base decimal en C en: 19 Noviembre 2015, 17:11 pm
Hola, me piden:  Realizar un programa que admita números en base 2 de 8 cifras, y los convierta al correspondiente valor decimal.
Yo lo he hecho así, pero me gustaría mejorarlo con un bucle for, no me dejan utilizar arrays. Gracias por la ayuda.
Código:
#include<stdio.h>
#include<stdlib.h>
     int main(void){
     int c1,c2,c3,c4,c5,c6,c7,c8,decimal;
     scanf("%d %d %d %d %d %d %d %d",&c1,&c2,&c3,&c4,&c5,&c6,&c7,&c8);
     decimal=c1*128+c2*64+c3*32+c4*16+c5*8+c6*4+c7*2+c8*1;
     printf("%d\n",decimal);




     system("pause");
     return(0);

     }
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines