Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - S10RIN

#21
Dudas y pedidos generales / [SOLUCIONADO] Manual obsoleto?
Diciembre 02, 2013, 02:15:40 PM
Hola muy buenas quisiera saber si ahora que han actualizado a phyton 3 este manual aun sirve o ya esta obsoleto por eso del cambio de sintaxis.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Muchas gracias
#22
Dudas y pedidos generales / Re:Matrices con punteros en C
Noviembre 27, 2013, 09:28:18 PM
Código: c
#include <stdio.h>
#include <stdlib.h>

/*
*
*/

int SumarMatrices(int *mat1, int *mat2,int dim1[],int dim2[]){
   
int *matriz_suma;
int i,j;

matriz_suma=(int*)malloc(dim1[0]*dim2[0]*sizeof(int));
for(i=0;i<dim1[0];i++){
for(j=0;j<dim2[0];j++){

                   *(matriz_suma+i*dim2[i]+j)=*(mat2+i*dim2[0]+j)+*(mat2+i*dim2[0]+j);
                   //printf("mat[%d][%d]=%d\n",i,j,*(matriz_suma+i*dim2[i]+j));

}
}
return *matriz_suma;
}



int main(int argc, char** argv) {

    int i,j,numero;
    int *mat1,*mat2;
    int dim1[2],dim2[2];
   
    FILE*datos;
    datos=fopen("datos.dat","r+");
   

    fscanf(datos,"%d",&dim1[0]);
    fscanf(datos,"%d",&dim2[0]);
    mat1=(int*)malloc(dim1[0]*dim2[0]*sizeof(int));
   
    for(i=0;i<dim1[0];i++){
    for(j=0;j<dim2[0];j++){
    fscanf(datos,"%d",&numero);
    *(mat1+i*dim2[0]+j)=numero;
    }
    }
    fscanf(datos,"%d",&dim1[1]);
        fscanf(datos,"%d",&dim2[1]);
    mat2=(int*)malloc(dim1[1]*dim2[1]*sizeof(int));
   
    for(i=0;i<dim1[1];i++){
    for(j=0;j<dim2[1];j++){
    fscanf(datos,"%d",&numero);
    *(mat2+i*dim2[1]+j)=numero;
    }
    }
   

    fclose(datos);
   
   
   
     MultiplicarMatrices(mat1,mat2,dim1,dim2);   
   
         
   
   
    return (EXIT_SUCCESS);
}






PD: Los datos de archivos.dat tienes que poner las dimensiones en una fila y los datos en otra y separados por espacios
Ej para dos matrices 1x3 y 3x2 seria

1 3
6 4 8
3 2
2 5 3 4 0 2

seria como multiplicar

( 6 4 8 )*( 2 5 )
              ( 3 4 )
              ( 0 2 )


Muchas gracias si funciona avisame
#23
Dudas y pedidos generales / Matrices con punteros en C
Noviembre 27, 2013, 08:46:05 PM
Hola muy buenas acaba de surgirme una duda en C

Tengo esta funcion hecha con punteros hecha en C y el problema es que al invocarla

Código: c
printf("%d",SumarMatrices(mat1,mat2,dim1,dim2))


solo muestra el primer resultado de la operacion y no el resto(PD: con char me funciona porque imprimo toda la cadena con %s)

Código: c
int SumarMatrices(int *mat1, int *mat2,int dim1[],int dim2[]){
   
int *matriz_suma;
int i,j;

matriz_suma=(int*)malloc(dim1[0]*dim2[0]*sizeof(int));
for(i=0;i<dim1[0];i++){
for(j=0;j<dim2[0];j++){

                   *(matriz_suma+i*dim2[i]+j)=+*(mat2+i*dim2[i]+j)+*(mat2+i*dim2[i]+j);                        //calculo de cada elemento
                   

}
}
return matriz_suma;
}