Pregunta Sobre Matriz y Doble Puntero

Iniciado por ZedGe, 3 Diciembre 2011, 15:10 PM

0 Miembros y 1 Visitante están viendo este tema.

ZedGe

Bueno tengo la siguiente declaración,

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?

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:
Citarerror: subscripted value is neither array nor pointer
supongo por que algo estoy sumando

int suma=0;
suma=suma + matrizR[0][0];
suma=suma + matrizR[0][1];






naderST

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


int SumaColumnas(int ** matrizR, int i , int j)


Recuerda que debes haber reservado memoria para esa matriz.

ZedGe

#2
ok. si tengo la memoria reservada xD

gracias ahi me funciono el codigo entero

ZedGe

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

naderST


ZedGe

en el main tengo


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

Suavizado(**matrizR,filas,columnas);

y la recibo con

int Suavizado(int**matrizR, int m , int n){
matrizResultadoR = matrizR; //matrizResultadoR dentro de esta funcion tbn le doy //memoria de la misma forma

.....}

naderST


#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;
}

ZedGe

pero para eso yo necesito una determinada fila y columna, en este caso mis matrices son dinamicas

naderST

Reemplaza las macros FILAS y COLUMNAS por tus variables y listo.

ZedGe

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