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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con parametros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con parametros  (Leído 3,204 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
problema con parametros
« en: 8 Julio 2013, 19:35 pm »

Saludos tengo el siguiente problema al pasar una matriz bidimensional como parametro a una funcion, me sale un error que dice: array type has incomplete element type

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX 10
  4.  
  5. void burbuja_descendente(char matriz[][],int n,int m);
  6.  
  7. int main()
  8. {
  9.    int i,j,n,m;
  10.    char matriz[MAX][MAX];
  11.    printf("Dame el numero de filas: ");
  12.    scanf("%d",&n);
  13.    printf("Dame el numero de columnas: ");
  14.    scanf("%d",&m);
  15.    for(i=0;i < n;i++)
  16.    {
  17.        for(j=0;j < m;j++)
  18.        {
  19.            printf("Dame el elemento (%d,%d):\n",i,j);
  20.            scanf("%s",&matriz[i][j]);
  21.        }
  22.    }
  23.    burbuja_descendente(matriz,n,m);
  24.    return 0;
  25. }
  26.  
  27. void burbuja_descendente(char matriz[][],int n,int m)
  28. {
  29.    int i,j,aux;
  30.    for(i=1;i < n;i++)
  31.    {
  32.        for(j=0;j < m;j++)
  33.        {
  34.            if(j==n-1)
  35.            {
  36.                if(matriz[i][j] < matriz[i+1][0])
  37.                {
  38.                    aux = matriz[i][j];
  39.                    matriz[i][j] = matriz[i+1][0];
  40.                    matriz[i+1][0] = aux;
  41.                }
  42.            }
  43.            else
  44.            {
  45.                if(matriz[i][j] < matriz[i][j+1])
  46.                {
  47.                    aux = matriz[i][j];
  48.                    matriz[i][j] = matriz[i][j+1];
  49.                    matriz[i][j+1] = aux;
  50.                }
  51.            }
  52.        }
  53.    }
  54. }

de antemano gracias


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: problema con parametros
« Respuesta #1 en: 8 Julio 2013, 19:48 pm »

Cuando tu defines una matriz de la forma en la que tú lo has hecho el equipo reserva la memoria de la siguiente manera:

matriz [ 3 ][ 2 ] = [ 0,0 ] [ 0,1 ] [ 1,0 ] [ 1,1 ] [ 2,0 ] [ 2,1 ]

Es decir, la matriz realmente está serializada en memoria y está ordenada por filas.

Si tu defines un argumento en una función tal que char matriz[][], no estás indicando el número de filas ni el número de columnas, por lo que la definición de dicha matriz está, técnicamente, incompleta.

Si quieres que no te de problemas puedes aplicar la solución más fácil, esta es poner en el parámetro el número de filas y de columnas.
Código
  1. void burbuja_descendente(char matriz[MAX][MAX],int n,int m);

Hay otras posibilidades, pero tendrías que modificar más código.


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: problema con parametros
« Respuesta #2 en: 9 Julio 2013, 01:12 am »

tengo el siguiente problema al pasar una matriz bidimensional como parametro a una funcion, me sale un error que dice: array type has incomplete element type
eferion ya te explico como resolver ese problema.

Otro es utilizar:
Código
  1. scanf("%s", &matriz[i][j]);
Como ya te explique en otro tema "%s" se utiliza para leer una palabra, si necesitas leer un carácter debes utilizar " %c".

También se debe rescribir desde cero la función de ordenacion (ya que tiene varios problemas).

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
parametros tmpgenc
Multimedia
xpanix 3 2,368 Último mensaje 23 Marzo 2004, 00:49 am
por Songoku
parámetros DOS
Scripting
veira69 2 2,684 Último mensaje 24 Enero 2008, 04:58 am
por l337*
Parámetros
Java
h0oke 7 5,017 Último mensaje 26 Marzo 2010, 20:36 pm
por -Ramc-
Problema pasando parametros a llamada remota :P
Programación Visual Basic
F3B14N 2 1,990 Último mensaje 10 Junio 2010, 20:24 pm
por F3B14N
Problema con Parametros
Java
Arobavx 1 2,170 Último mensaje 26 Octubre 2010, 11:18 am
por Leyer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines