SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: samuelhm en Martes 22 de Febrero de 2005, 19:52

Título: Clase De C++
Publicado por: samuelhm en Martes 22 de Febrero de 2005, 19:52
Intento crear un objeto tab, a partir de tablero, pero me da este error:
ivalid conversion from "int" to "int" (*)[5]
initzialitzing argument 1 of 'tablero::tablero(int(*)[5])'
uso el dev-c++
Gracias de Antemano
Código: Text
  1. #include <iostream>
  2. using namespace std;
  3. class tablero{
  4.       private:
  5.               char dimensiones[5][5];
  6.       public:
  7.              tablero(int dim[5][5]){
  8.                          for (int i=0;i<5;i++){
  9.                              for (int e=0;e<5;e++){
  10.                                  dimensiones[i][e]=static_cast<char>(dim[i][e]);
  11.                                  }
  12.                              }
  13.                          }
  14.                              
  15.              void dibuja(){
  16.                   for (int i=0;i<5;i++){
  17.                       for (int e=0;e<5;e++){
  18.                       cout <<dimensiones[i][e];
  19.                       }
  20.                   }
  21.              }
  22. };
  23. int main(){
  24.     int temp1[5][5];    temp1[0][0]=1;    temp1[0][1]=1;    temp1[0][2]=1;    temp1[0][3]=1;    temp1[0][4]=1;    temp1[0][5]=2;    temp1[1][0]=2;       temp1[1][1]=2;    temp1[1][2]=2;    temp1[1][3]=2;    temp1[1][4]=2;    temp1[1][5]=2;    temp1[2][0]=3&#59;      temp1[2][1]=3;    temp1[2][2]=3;    temp1[2][3]=3;    temp1[2][4]=3;    temp1[2][5]=3;   temp1[3][0]=4&#59;     temp1[3][1]=4;    temp1[3][2]=4;    temp1[3][3]=4;    temp1[3][4]=4;    temp1[3][5]=4;    temp1[4][0]=5&#59;      temp1[4][1]=5;    temp1[4][2]=5;    temp1[4][3]=5;    temp1[4][4]=5;    temp1[4][5]=5;    temp1[5][0]=6&#59;      temp1[5][1]=6    temp1[5][2]=6;    temp1[5][3]=6;    temp1[5][4]=6;    temp1[5][5]=6;
  25.     tablero tab(temp1[5][5]);
  26.     return 0;}
  27.  
  28.  
  29.  
Lo de los temp1 eran pruebas mias para ver si solucionaba primero el error.
Título: Re: Clase De C++
Publicado por: samuelhm en Miércoles 23 de Febrero de 2005, 18:09
:( nadie me puede ayudar :(
Título: Re: Clase De C++
Publicado por: Ruben3d en Viernes 25 de Febrero de 2005, 20:08
Podrías poner en qué línea da el error?
Título: Re: Clase De C++
Publicado por: samuelhm en Viernes 25 de Febrero de 2005, 21:25
Vale ya lo e solucionado,aver si me podeis ayudar a REDUCIR EL CODIGO FUENTE DE ESTO:
Código: Text
  1. if (a == 1){
  2.               if (b== 1){
  3.                  xy[0][0]=MOD;}
  4.               else if (b== 2){
  5.                  xy[1][0]=MOD;}
  6.               else if (b== 3){
  7.                  xy[2][0]=MOD;}
  8.               else if (b==4){
  9.                  xy[3][0]=MOD;}
  10.               else if (b==5){
  11.                  xy[4][0]=MOD;}
  12.               else if (b==6){
  13.                  xy[5][0]=MOD;}
  14.                        }
  15.            else if (a == 2){
  16.               if (b== 1){
  17.                  xy[0][1]=MOD;}
  18.               else if (b== 2){
  19.                  xy[1][1]=MOD;}
  20.               else if (b== 3){
  21.                  xy[2][1]=MOD;}
  22.               else if (b==4){
  23.                  xy[3][1]=MOD;}
  24.               else if (b==5){
  25.                  xy[4][1]=MOD;}
  26.               else if (b==6){
  27.                  xy[5][1]=MOD;}
  28.                        }
  29.            else if (a == 3){
  30.               if (b== 1){
  31.                  xy[0][2]=MOD;}
  32.               else if (b== 2){
  33.                  xy[1][2]=MOD;}
  34.               else if (b== 3){
  35.                  xy[2][2]=MOD;}
  36.               else if (b==4){
  37.                  xy[3][2]=MOD;}
  38.               else if (b==5){
  39.                  xy[4][2]=MOD;}
  40.               else if (b==6){
  41.                  xy[5][2]=MOD;}
  42.                        }
  43.            else if (a == 4){
  44.               if (b== 1){
  45.                  xy[0][3]=MOD;}
  46.               else if (b== 2){
  47.                  xy[1][3]=MOD;}
  48.               else if (b== 3){
  49.                  xy[2][3]=MOD;}
  50.               else if (b==4){
  51.                  xy[3][3]=MOD;}
  52.               else if (b==5){
  53.                  xy[4][3]=MOD;}
  54.               else if (b==6){
  55.                  xy[5][3]=MOD;}
  56.                        }
  57.            else if (a == 5){
  58.               if (b== 1){
  59.                  xy[0][4]=MOD;}
  60.               else if (b== 2){
  61.                  xy[1][4]=MOD;}
  62.               else if (b== 3){
  63.                  xy[2][4]=MOD;}
  64.               else if (b==4){
  65.                  xy[3][4]=MOD;}
  66.               else if (b==5){
  67.                  xy[4][4]=MOD;}
  68.               else if (b==6){
  69.                  xy[5][4]=MOD;}
  70.                        }
  71.            else if (a == 6){
  72.               if (b== 1){
  73.                  xy[0][5]=MOD;}
  74.               else if (b== 2){
  75.                  xy[1][5]=MOD;}
  76.               else if (b== 3){
  77.                  xy[2][5]=MOD;}
  78.               else if (b==4){
  79.                  xy[3][5]=MOD;}
  80.               else if (b==5){
  81.                  xy[4][5]=MOD;}
  82.               else if (b==6){
  83.                  xy[5][5]=MOD;}
  84.             
  85.                        }
  86.  
Por si acaso pongo el programa completo adjunto al mensaje[/color][/size]Aparte parte para quien se baje el programa (que es una prueba) sabe cual es el error del por que cuando elijo el ultimo cuadrado de la cuadricula se me marca el primero de la siguiente o si marco el primero de una linea se me marca el ultimo de la anterior. Ya se que pido mucho, XD Gracias de todas formas.AH! y, se puede pasar vectores a las funciones?? por ejemplo,
Código: Text
  1. func(lokesea[3][4]);
  2.  
[/color][/size]
Título: Re: Clase De C++
Publicado por: RadicalEd en Viernes 25 de Febrero de 2005, 22:31
Utiliza bucles, yo lo haria asi:
Código: Text
  1. if (a == 1){
  2.   for(d=1;d=6;d++)
  3.   {            
  4.    if (b==d){xy[d-1][0]=MOD;}
  5.   }
  6.  
Ojala te sirva.
Chao
Título: Re: Clase De C++
Publicado por: samuelhm en Viernes 25 de Febrero de 2005, 22:43
perfecto :lol: pero supongo que sera: for (d=1;d<=6;d++); Muchas Gracias!
Ademas se me a ocurrido esto:
Código: Text
  1. for (int e = 1;e &#60;=6;e++){
  2.            if (a == e){
  3.               for (int i = 1;i &#60;= 6; i++){
  4.                   if (b == i)
  5.                      xy[i-1][e-1] = DES;}
  6.                        }
  7.               }
  8.  
asi todo va con bucles for =)
Título: Re: Clase De C++
Publicado por: RadicalEd en Viernes 25 de Febrero de 2005, 22:55
no; segun sé el for no usa el ";"
Título: Re: Clase De C++
Publicado por: samuelhm en Viernes 25 de Febrero de 2005, 23:06
queria decir lo del <= en vez de =, me ekibokao cone el ; XD
Que bonita es la programación =)
e canviado:
Código: Text
  1.  
  2. if (a == 1){
  3.              if (b== 1){
  4.                 xy[0][0]=MOD;}
  5.              else if (b== 2){
  6.                 xy[1][0]=MOD;}
  7.              else if (b== 3){
  8.                 xy[2][0]=MOD;}
  9.              else if (b==4){
  10.                 xy[3][0]=MOD;}
  11.              else if (b==5){
  12.                 xy[4][0]=MOD;}
  13.              else if (b==6){
  14.                 xy[5][0]=MOD;}
  15.                       }
  16.           else if (a == 2){
  17.              if (b== 1){
  18.                 xy[0][1]=MOD;}
  19.              else if (b== 2){
  20.                 xy[1][1]=MOD;}
  21.              else if (b== 3){
  22.                 xy[2][1]=MOD;}
  23.              else if (b==4){
  24.                 xy[3][1]=MOD;}
  25.              else if (b==5){
  26.                 xy[4][1]=MOD;}
  27.              else if (b==6){
  28.                 xy[5][1]=MOD;}
  29.                       }
  30.           else if (a == 3){
  31.              if (b== 1){
  32.                 xy[0][2]=MOD;}
  33.              else if (b== 2){
  34.                 xy[1][2]=MOD;}
  35.              else if (b== 3){
  36.                 xy[2][2]=MOD;}
  37.              else if (b==4){
  38.                 xy[3][2]=MOD;}
  39.              else if (b==5){
  40.                 xy[4][2]=MOD;}
  41.              else if (b==6){
  42.                 xy[5][2]=MOD;}
  43.                       }
  44.           else if (a == 4){
  45.              if (b== 1){
  46.                 xy[0][3]=MOD;}
  47.              else if (b== 2){
  48.                 xy[1][3]=MOD;}
  49.              else if (b== 3){
  50.                 xy[2][3]=MOD;}
  51.              else if (b==4){
  52.                 xy[3][3]=MOD;}
  53.              else if (b==5){
  54.                 xy[4][3]=MOD;}
  55.              else if (b==6){
  56.                 xy[5][3]=MOD;}
  57.                       }
  58.           else if (a == 5){
  59.              if (b== 1){
  60.                 xy[0][4]=MOD;}
  61.              else if (b== 2){
  62.                 xy[1][4]=MOD;}
  63.              else if (b== 3){
  64.                 xy[2][4]=MOD;}
  65.              else if (b==4){
  66.                 xy[3][4]=MOD;}
  67.              else if (b==5){
  68.                 xy[4][4]=MOD;}
  69.              else if (b==6){
  70.                 xy[5][4]=MOD;}
  71.                       }
  72.           else if (a == 6){
  73.              if (b== 1){
  74.                 xy[0][5]=MOD;}
  75.              else if (b== 2){
  76.                 xy[1][5]=MOD;}
  77.              else if (b== 3){
  78.                 xy[2][5]=MOD;}
  79.              else if (b==4){
  80.                 xy[3][5]=MOD;}
  81.              else if (b==5){
  82.                 xy[4][5]=MOD;}
  83.              else if (b==6){
  84.                 xy[5][5]=MOD;}
  85.            
  86.                       }
  87.  
  88.  
Por esto otro:
Código: Text
  1. for (int e = 1;e &#60;=6;e++){
  2.           if (a == e){
  3.              for (int i = 1;i &#60;= 6; i++){
  4.                  if (b == i)
  5.                     xy[i-1][e-1] = DES;}
  6.                       }
  7.              }
  8.  
[/b][/color][/size]