Apuntador a arreglo bidimensional en c

Iniciado por UltimateDragoon, 3 Octubre 2011, 20:58 PM

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

UltimateDragoon

hola, la verdad apenas comienzo en este mundo de programacion en c, pero estoy algo atorado con este archivo, se que se puede hacer sin apuntadores pero me interesa saber como hacerlo con apuntadores y lo tengo masomenos asi

#include <stdio.h>
#include <cstdlib>
#include <iostream>
int imp(int (*nums)[3][5])
{
int x=0, y=0;
/*system("clear");
for(y=0;y<3;y++)
{
for(x=0;x<5;x++)
{
printf("dato %d del arreglo #%d:\t%d\n", x+1, y+1, *nums[y][x]);
}
}*/
printf("\tSUMA DE ARREGLOS:\n---------------------------------------------\n\tC\t=\tA\t+\tB\n---------------------------------------------\n");
for(x=0;x<5;x++)
{
printf("\t%d\t\t%d\t%d\n", *nums[2][x], *nums[0][x], *nums[1][x]);
}
return 0;
}

int main()
{
int arr[3][5], x=0, y=0;
for(y=0;y<2;y++)
{
for(x=0;x<5;x++)
{
printf("Ingresa el dato %d del arreglo #%d\n", x+1, y+1);
scanf("%d", &arr[y][x]);
}
}
for(x=0;x<5;x++)
{
arr[2][x]=arr[0][x] + arr[1][x];
}
//system("clear");
imp(&arr);
//system("PAUSE");
return 0;
}


En teoria solo debe sumar los 5 elementos de cada dimension (en "0" y "1") y guardarlo en el restante (2), todo va bien exepto cuando mando para la impresion en otra funcion, se que se pueden hacer de otras formas evitando el hecho de enviar la direccion del arreglo bidimencional pero como mecione antes me interesa hacerlo asi para aprender, cualquier ayuda siempre sera bienvenida y gracias de antemano

LearningSpanishProgrammer

#1

int implementation(int num[][5])
o
int implementation(int num[5][5])


Pero, se quieres usar su sintaxis, entonces:


printf("\t%d\t\t%d\t%d\n", (*nums)[2][x], (*nums)[0][x], (*nums)[1][x]);


Por que tu estas accediendo el entero como un puntero


*nums[2][x] generates *(nums[2][x])


Vea esta: http://foro.elhacker.net/programacion_cc/ayuda_con_tablas_bidimensionales-t339047.0.html;msg1663422#msg1663422
y esta: http://foro.elhacker.net/programacion_cc/duda_con_arreglo_bidimensional_dinamico_en_ide_devc-t337905.0.html;msg1658904#msg1658904
Estoy aprendiendo español, y tu estas aprendiendo programación

UltimateDragoon

#2
muchas gracias, eso resolvio el problema