elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 02:52  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Pregunta Sobre Matriz y Doble Puntero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta Sobre Matriz y Doble Puntero  (Leído 684 veces)
ZedGe

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Pregunta Sobre Matriz y Doble Puntero
« en: 3 Diciembre 2011, 15:10 »

Bueno tengo la siguiente declaración,

Código:
int **matrizR;
matrizR[0][0]=0;
matrizR[0][1]=1;
matrizR[0][2]=2;
matrizR[0][3]=3;
matrizR[0][4]=4;
........................

1.- Como paso esa matriz como parámetro para una función?

Código:
int SumaColumnas(int *matrizR, int i , int j)

Me acuerdo haber encontrado que si se usa doble puntero el parámetro se pasa con 1 puntero, esta bien eso así?


2.- quiero hacer una suma pero me sale un error:
Citar
error: subscripted value is neither array nor pointer
supongo por que algo estoy sumando

Código:
int suma=0;
suma=suma + matrizR[0][0];
suma=suma + matrizR[0][1];






En línea
naderST


Desconectado Desconectado

Mensajes: 467



Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #1 en: 3 Diciembre 2011, 16:19 »

Si es un puntero a puntero lo pasas como puntero a puntero, es decir, así:

Código
int SumaColumnas(int ** matrizR, int i , int j)
 

Recuerda que debes haber reservado memoria para esa matriz.


En línea
ZedGe

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #2 en: 3 Diciembre 2011, 17:35 »

ok. si tengo la memoria reservada xD

gracias ahi me funciono el codigo entero
« Última modificación: 3 Diciembre 2011, 17:38 por ZedGe » En línea
ZedGe

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #3 en: 3 Diciembre 2011, 20:23 »

Al imprimir esa matriz que pase como parámetro el programa se cae, creo que no es la forma.
En línea
naderST


Desconectado Desconectado

Mensajes: 467



Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #4 en: 3 Diciembre 2011, 20:26 »

Como le reservas memoria a la matriz?
En línea
ZedGe

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #5 en: 3 Diciembre 2011, 20:32 »

en el main tengo

Código:
int **matrizR;

matrizR = malloc(filas * sizeof *matrizR);   
    for (k = 0; k < m; k++){                 
     matrizResultadoR[k] = malloc(columnas * sizeof *matrizR[k]);
    }

y la inicializo con datos, luego pongo

Código:
Suavizado(**matrizR,filas,columnas);

y la recibo con

Código:
int Suavizado(int**matrizR, int m , int n){
matrizResultadoR = matrizR; //matrizResultadoR dentro de esta funcion tbn le doy //memoria de la misma forma
.....}
En línea
naderST


Desconectado Desconectado

Mensajes: 467



Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #6 en: 3 Diciembre 2011, 20:54 »

Código
#include <stdio.h>
#include <stdlib.h>
#define FILAS 4
#define COLUMNAS 4
 
int ** matriz;
 
int main(void){
register int i;
 
matriz = (int**)malloc(sizeof(int*)*FILAS);
 
for(i=0;i<FILAS;i++)
matriz[i] = malloc(sizeof(int)*COLUMNAS);
 
return 0;
}
 
En línea
ZedGe

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #7 en: 3 Diciembre 2011, 20:58 »

pero para eso yo necesito una determinada fila y columna, en este caso mis matrices son dinamicas
En línea
naderST


Desconectado Desconectado

Mensajes: 467



Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #8 en: 3 Diciembre 2011, 21:10 »

Reemplaza las macros FILAS y COLUMNAS por tus variables y listo.
En línea
ZedGe

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #9 en: 3 Diciembre 2011, 21:12 »

El define se puede usar para variables?... por que yo estoy usando 2 archivos y mis matrices pueden ser de 50x50 o de 40x20 o de lo que sea por eso no he usado define
En línea
naderST


Desconectado Desconectado

Mensajes: 467



Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #10 en: 3 Diciembre 2011, 21:19 »

Me refiero que en vez de usar las macro que usé yo en mi código uses variables con el tamaño que necesites de la matriz.
En línea
ZedGe

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #11 en: 3 Diciembre 2011, 21:26 »

El problema no es la asignación de memoria, mi matriz dentro del main funciona, pero al pasarla como parámetro para una función de otro archivo dentro de mi proyecto la matriz no la puedo ver, es decir, si imprimo la posición 1,1 se cae el programa
En línea
naderST


Desconectado Desconectado

Mensajes: 467



Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #12 en: 3 Diciembre 2011, 21:31 »

El problema es la manera en que le pasas la matriz cuando llamas a la función.

Código
Suavizado(**matrizR,filas,columnas); 

Le estas pasando un entero cuando deberías pasarle un puntero a puntero a entero de esta manera:

Código
Suavizado(matrizR,filas,columnas);
En línea
ZedGe

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Pregunta Sobre Matriz y Doble Puntero
« Respuesta #13 en: 3 Diciembre 2011, 21:32 »

Eso era... muchísimas gracias, me pondré a estudiar punteros, gracias
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pequeña duda sobre puntero a funciones « 1 2 »
Programación C/C++
Shrick 23 1,939 Último mensaje 26 Enero 2009, 07:47
por Ragnarok
Un poco de ayuda sobre un puntero
Programación C/C++
EvilGoblin 7 907 Último mensaje 13 Julio 2009, 03:22
por EvilGoblin
[PREGUNTA] Casting de puntero tonto a tipo enum
Programación C/C++
Kropt32 5 1,749 Último mensaje 24 Febrero 2010, 22:31
por Littlehorse
martiz de char doble puntero
Programación C/C++
neo_from_cs_matrix 2 811 Último mensaje 15 Julio 2011, 00:05
por rir3760
duda doble puntero char a matriz de char
Programación C/C++
neo_from_cs_matrix 3 1,254 Último mensaje 5 Septiembre 2011, 03:53
por rir3760
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines