Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: aldape23 en 26 Agosto 2017, 23:35 pm



Título: programa que cuente numeros repetidos de una matriz
Publicado por: aldape23 en 26 Agosto 2017, 23:35 pm
Hola :)
Tengo este código pero me marca un error, ¿Qué puedo hacer?
Me marca el siguiente error:
[Error] invalid types 'int [255][int [500]]' for array subscript

Código
  1. [#include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #define p printf
  5. #define s scanf
  6. #define SIZE 500
  7. #define freq_size 255
  8.  
  9. main (int, const char**)
  10. {
  11. int i,j,k,h,x=0;
  12. int answer,rating;
  13. int freq[freq_size]={0};
  14. int  a[SIZE][SIZE];
  15. int m=0,n=0;
  16. p("\n\t\tPROGRAMA QUE CALCULE HISTOGRAMA DE MATRIZ\n");
  17. p("\n\n");
  18. p("Ingresa el numero de columnas de la matriz: ");
  19. s("%i",&n);
  20. p("Ingresa el numero de renglones de la matriz: ");
  21. s("%i",&m);
  22. for (i=0;i<m;++i)
  23. {
  24. for (j=0;j<n;++j)
  25. p("%d ",1+rand() % 255);
  26. p("\n");
  27. }
  28.  
  29.  
  30. for (answer=0;answer <= SIZE -1; answer++ )
  31. ++freq[a[answer]];
  32. p("%s%17s\n", "Numero", "Repeticiones");
  33. for (rating=1;rating<=freq_size-1;rating++)
  34. p("%6d%17d\n",rating,freq[rating]);
  35. return 0;
  36. }
  37.  


Título: Re: programa que cuente numeros repetidos de una matriz
Publicado por: ivancea96 en 27 Agosto 2017, 00:31 am
Ni más ni menos que lo que dice:
Código
  1. ++freq[a[answer]];
a es una matriz bidimensional. "a[answer]" da como resultado una matriz unidimensional. Querrías poner "a[answer][loquesea]".