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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  suma de dos matrices dinamicas con punteros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: suma de dos matrices dinamicas con punteros  (Leído 5,339 veces)
piyor6

Desconectado Desconectado

Mensajes: 15


Ver Perfil
suma de dos matrices dinamicas con punteros
« en: 4 Mayo 2018, 06:34 am »

saludos a todos, hoy tengo un problema con un ejercicio y el problema esque se como se hace en c++ pero no se como hacerlo en c, para ser mas espesifico necesito reservar memoria con punteros en c lo cual creo que se hace con malloc y pues yo hice el programa en c pero con extensión c++ para que corra new y el delet con que se resrva la memoria.

lo que necesito es este mismo programa pero acomodado al c (osea con malloc)

(este codigo copila perfecto si esta con estencion c++)

agradezco su ayuda muchas gracias
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void pedirdatos();
  5. void sumarmatriz(int **,int **,int,int);
  6. void mostrarmatriz(int **,int,int);
  7.  
  8. int **pmatriz1,**pmatriz2,filas,columnas;
  9.  
  10. int main(){
  11.  
  12. pedirdatos();
  13. sumarmatriz(pmatriz1,pmatriz2,filas,columnas);
  14. mostrarmatriz(pmatriz1,filas,columnas);
  15.  
  16.  for(int i=0;i<filas;i++){
  17.      delete[] (pmatriz2+i);
  18.  }
  19.  delete[] pmatriz2;
  20.  
  21.  for(int i=0;i<filas;i++){
  22.      delete[] (pmatriz1+i);
  23.  }
  24.  delete[] pmatriz1;
  25.  
  26.  
  27.  
  28.  
  29.  
  30.    return 0;
  31. }
  32.  
  33. void pedirdatos(){
  34.    printf("ingrese el numero de filas: ");
  35.    scanf("%d",&filas);
  36.    printf("ingrese el numero de columnas: ");
  37.    scanf("%d",&columnas);
  38. //reservando memeoria
  39. printf("matriz #1\n");
  40. pmatriz1=new int*[filas];//reservar memoria para filaz
  41. for(int i=0;i<filas;i++){
  42.    *(pmatriz1+i)=new int[columnas];//resevar columnas
  43.    }
  44.    //llenando matriz 1
  45.    for(int i=0;i<filas;i++){
  46.        for(int j=0;j<filas;j++){
  47.            printf("digite un numero: ");
  48.            scanf("%d",&*(*(pmatriz1+i)+j));
  49.  
  50.        }
  51.  
  52.    }
  53.  
  54. printf("matriz #2\n");
  55. //reservando memoria
  56.    pmatriz2=new int*[filas];//reservar memoria para filaz
  57. for(int i=0;i<filas;i++){
  58.    *(pmatriz2+i)=new int[columnas];//resevar columnas
  59.    }
  60.    //llenando matriz 2
  61.    for(int i=0;i<filas;i++){
  62.        for(int j=0;j<filas;j++){
  63.            printf("digite un numero: ");
  64.            scanf("%d",&*(*(pmatriz2+i)+j));
  65.  
  66.        }
  67.  
  68.    }
  69. }
  70.  
  71. void sumarmatriz(int **pmatriz1,int**pmatriz2,int filas,int columnas){
  72. for(int i=0;i<filas;i++){
  73.    for(int j=0;j<filas;j++){
  74.        *(*(pmatriz1+i)+j)= *(*(pmatriz1+i)+j)+ *(*(pmatriz2+i)+j);
  75.        }
  76.  
  77.  
  78. }
  79.  
  80.  
  81.  
  82.  
  83. }
  84. void mostrarmatriz(int **pmatriz1,int filas,int columnas ){
  85. printf("la suma de las dos matrices es:\n");
  86.  
  87. for(int i=0;i<filas;i++){
  88.    for(int j=0;j<filas;j++){
  89.        printf("%d ",*(*(pmatriz1+i)+j));
  90.  
  91.        }
  92.        printf("\n");
  93.    }
  94.  
  95.  
  96.  
  97. }
  98.  
  99.  
  100.  
  101.  


En línea

Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: suma de dos matrices dinamicas con punteros
« Respuesta #1 en: 4 Mayo 2018, 21:24 pm »

solo tienes que utilizar la funcion void *malloc(size_t size) para reservar la memoria y void free(void *ptr) para liberarla

ejemplo

Código
  1. int* filas = (int*)malloc(sizeof(int)*num);// reservamos memoria
  2.  int i;
  3.  for(i=0; i<num; i++){
  4.    filas[i] = i+1;
  5.  }
  6.  free(filas);//liberamos memoria
  7.  




En línea

piyor6

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: suma de dos matrices dinamicas con punteros
« Respuesta #2 en: 6 Mayo 2018, 17:27 pm »

pdrias implementar eso que me dijiste en mi codigo y asi entiendo mejor
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda matrices dinámicas multidimencionales
Programación Visual Basic
:matux: 1 1,761 Último mensaje 20 Agosto 2007, 14:03 pm
por :matux:
Matrices dinámicas en C
Programación C/C++
thekill01 3 4,550 Último mensaje 22 Mayo 2012, 02:06 am
por icoheed
(Problema)Matrices Dinámicas de Caracteres!
Programación C/C++
Reynega 4 4,534 Último mensaje 6 Marzo 2015, 18:33 pm
por avesudra
Matrices dinámicas
Programación C/C++
MPLS 3 1,988 Último mensaje 4 Noviembre 2015, 04:31 am
por crack81
Problema en C que no puedo resolver, Malloc y matrices dinámicas
Programación C/C++
i7Savage 3 2,186 Último mensaje 29 Junio 2019, 12:08 pm
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines