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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Re: Duda del desplazamiento de los elementos de una matriz(norte,sur,este,oeste) en: 14 Mayo 2014, 14:22 pm
Hola a todos, lo siento si mi idea es confusa. Intentare dejar lo mas claro lo que quiero hacer, yo no quiero mover toda la matriz sino un solo carácter de ellos que es 'R', para eso creo un condicional que si el usuario ingresaba en la variable Mov la letra 'N',luego cree otro condicional dentro de ese mismo para encontrar donde estaba el carácter 'R' que es el único que puedo mover asignándole las variables X y Y por eso le resto el numero de pasos ya que el norte es hacia arriba y las filas comienza de 0..N. Al mover la 'R' la posición pasa a ser sustituida por un '.', fue mi error no colocarlo pero estoy tan frustrada porque no se mueve que lo pase por alto. Acerca de los caracteres especiales esos son para rellenar mi matriz solo con esos caracteres y bueno la ultima pregunta no la entiendo muy bien pero lo que hice fue un condicional que si el usuario ingresa la letra 'N' en la variable movimiento, dentro de ese mismo condicional buscaba la posición de la letra 'R' y según el numero de pasos que ingresa el usuario por eso coloque x- pasos, ya que x representa mi fila en la posición donde se encuentra 'R' y pasos son con la cantidad de veces que quiero mover la 'R'. Espero que entienda mi idea, se que es un poco confusa pero es lo único que se me ocurrió para mover un elemento.
2  Programación / Programación C/C++ / Duda del desplazamiento de los elementos de una matriz(norte,sur,este,oeste) en: 14 Mayo 2014, 03:43 am
Hola a todos espero que estén bien, como lo escribí en el titulo tengo una duda de como mover un elemento de una matriz en forma norte,sur,este,oeste,noreste...Les adjunto mi código para que vean mi idea, quizás este pésima pero según mi lógica debería funcionar. Mi idea consiste en declarar dos variables para guardar la posición de la matriz y si mi matriz es igual al carácter que deseo mover, en este caso r, muevo la matriz la cantidad de pasos que ingrese el usuario. Mi código solo tiene norte porque como mi idea no me funciona quería saber que tengo malo para luego continuar, mi idea es si va al norte restar las filas, al sur sumar filas, este sumar columnas y oeste restar, espero que logren entender que es lo que trato de hacer el código es el siguiente: (Y disculpen si escribo mucho solo intento que mi idea se entienda)

Código
  1. #include <iostream>
  2. #include <string>
  3. char matriz[20][20];
  4. using namespace std;
  5. int main(){
  6. int fil,col,pasos,i,j,x,y;
  7. string Mov;
  8. cout<<"Ingrese filas y columnas"<<endl;
  9. cin>>fil>>col;
  10. cin>>Mov>>pasos;
  11. for( i=0;i<fil;i++){
  12. for( j=0;j<col;j++){
  13. do{
  14. cout<<"["<<i<<"]"<<"["<<j<<"]"<<endl;
  15.        cin >> matriz[i][j] ;
  16.  
  17. }while(matriz[i][j]!='R' && matriz[i][j]!='S' && matriz[i][j]!='#' && matriz[i][j]!='*' && matriz[i][j]!='@' && matriz[i][j]!='/');
  18. }
  19. }
  20.  
  21. if(Mov=="N"){
  22. if(matriz[i][j]=='R'){
  23. x=i;
  24. y=j;
  25. for (i = 0; i < fil; i++)
  26.    {
  27.        for ( j = 0; j < col; j++)
  28.           cout << matriz[x-pasos][j] << " ";
  29.        cout << endl;  
  30. }
  31.  
  32. }
  33. }
  34. }
3  Programación / Programación C/C++ / Re: Duda acerca de como pasar por referencia matrices dinamicas? en: 11 Mayo 2014, 22:59 pm
Si al final es lo mismo, lo que pasa es que en mi universidad no quieren que use puntero porque todavía no me lo han dado por eso al final hice eso.
4  Programación / Programación C/C++ / Re: Duda acerca de como pasar por referencia matrices dinamicas? en: 10 Mayo 2014, 22:24 pm
Gracias a todos por sus respuestas, al final lo que hice fue esto:
Es muy parecida a la tuya leosansan pero fue la unica idea que se me ocurrio para no utlizar punteros.

Código
  1. #include <iostream>
  2. using namespace std;
  3. int M[20][20];
  4. void llenar(int fil,int col,int M[][20]){
  5. int i,j;
  6. for(i=0;i<fil;i++){
  7. for(j=0;j<col;j++){
  8. cout<<"["<<i<<"]"<<"["<<j<<"]"<<endl;
  9. cin>>M[i][j];
  10. }
  11. }
  12. cout<<endl;
  13. }
  14. void mostrar(int fil, int col, int M[][20]){
  15. int i,j;
  16. for(i=0;i<fil;i++){
  17. for(j=0;j<col;j++)
  18. cout<<M[i][j]<<" ";
  19. cout<<endl;
  20. }
  21. }
  22.  
  23. int main(){
  24. int fil,col;
  25. cout<<"Ingrese fila y columna"<<endl;
  26. cin>>fil>>col;
  27. llenar(fil,col,M);
  28. mostrar(fil,col,M);
  29. }
5  Programación / Programación C/C++ / Duda acerca de como pasar por referencia matrices dinamicas? en: 3 Mayo 2014, 20:32 pm
Código
  1. #include <iostream>
  2. using namespace std;
  3. void llenar_matriz(int fil, char  &matriz[][col]){
  4. int i,j ;
  5. for (int i = 0; i < fil; i++){
  6.    for (int j = 0; j < col; j++){
  7.  
  8.        cin >> matriz[i][j];
  9.  
  10. }
  11. }
  12. }
  13.  
  14. void Mostrar_matriz(int fil, char &matriz[][col] ){
  15. int i,j;
  16. for (i = 0; i < fil; i++)
  17.    {
  18.        for ( j = 0; j < col; j++){
  19.           cout << matriz[i][j] << " ";
  20.        cout << endl;
  21.    }
  22. }
  23.  
  24. }
  25.  
  26.  
  27.  
  28. int main()
  29. {
  30.  
  31.   int fil, col ;
  32. cout << "Dimensiones del tablero: ";
  33. cin >> fil >> col;
  34. char  matriz[fil][col];
  35.  
  36. }

Hola espero que estén bien, esta es mi idea de como pasar una matriz por referencia en una acción pero no entiendo porque no funciona, esto es lo que he entendido viendo videos y documentos, seria de gran ayuda que me dijeran en que me equivoco, ya que no puedo usar punteros esta fue mi idea. Gracias de antemano por sus respuestas.
6  Programación / Programación C/C++ / Problema con ciclos (ejercicio de pi) en: 29 Marzo 2014, 01:48 am
El ejercicio a programar es el siguiente:
Desarrolla una función que calcule el valor de π a partir de una serie indicada a
continuación, de la cual calcularemos la cantidad de términos indicados por el usuario.
π = 4 – 4/3 + 4/5 – 4/7 + 4/9 - ... ± 4/n
Mi idea fue crear el siguiente algoritmo:
Código
  1. #include <iostream>
  2. using namespace std;
  3. int main (){
  4. int b=0,a=1,i,c=0 ;
  5. int n;
  6. cout<<"Ingrese el numero"<<endl;
  7. cin>>n;
  8. if(n%2==0){
  9. cout<<"numero invalido"<<endl;
  10. }else{
  11. for(i=1;i<=n;i++){
  12. if(i%2==0){
  13. while(a<=n){
  14. b=b-(4/a);
  15.                 a=a+2;
  16. }
  17. cout<<b<<endl;
  18. }else{
  19. while(a<=n){
  20. c=c+(4/a);
  21. a=a+2;
  22. }
  23. cout<<c<<endl;
  24. }
  25. }
  26. }
  27. }
  28.  
Lo que no entiendo es porque no me da, según mi lógica y un pseudocodigo que hice eso debería funcionar...Por favor, podrían decirme en que me equivoque.
7  Programación / Programación C/C++ / Re: Matriz Dinamica en c++. Como rellenarla en coordenadas especificas? en: 12 Marzo 2014, 00:18 am
Haber primero quiero agradecer a todas las personas que me ayudaron aun sin conocerme o pedirme nada a cambio, ese fue uno de los motivos por los cuales elegí esta carrera me gusta como se ayudan entre si. Segundo yo jamas he sido de las personas que se copia un código, soy e las personas que les gusta hacer las cosas por ella misma, ser independiente. Tercero vine aquí por una asesoría, JAMAS DIJE HÁGANME LA TAREA,  y si eso fue lo que di a entender me disculpo. Cuarto, aunque parezca que no entiendo nada y casi piso lo ignorante, no es porque yo quiera ser así, solo esta tarea me fui enviada por un correo no he podido ni ver a mis profesores con la situación que vive mi país, no es porque yo me quede en mi casa sentada viendo televisión, he salido aun con bombas lagrimogenas a la universidad, para tener un mejor futuro y poderte ir porque la patria que te vio nacer hoy no puedes vivir en ella, y con el no saber si regresas a tu casa, porque por el solo hecho de ser estudiante te maltratan, los que se suponen deben defenderte. Y para finalizar quiero dejar claro que no tengo pensado utilizar el código envidado por yoel, me engañaría a mi misma, yo he ido creando mi propio código con las recomendaciones que me han escrito. Bueno con esto me despido de ustedes y nuevamente gracias a todas las personas que aportaron ideas.
8  Programación / Programación C/C++ / Re: Matriz Dinamica en c++. Como rellenarla en coordenadas especificas? en: 10 Marzo 2014, 13:13 pm
Ya he modificado un poco el codigo, pero donde esta colocada la mina en vez de salir unos a su alrededor siguen saliendo asteriscos.
Código
  1. #include <iostream>
  2.  
  3.  
  4. using namespace std;
  5.  
  6. void imprimir (char **Matriz,int dim);
  7. void colocar_minas (char **Matriz,int dim);
  8.  
  9.  
  10. int main(void) {
  11.  
  12.  int dim;
  13.  char ch=35;
  14.  
  15.  cout << "Introduzca la dimension de la matriz: ";
  16.  cin >> dim;
  17.  char **Matriz = new char *[dim];
  18.  for (int j = 0; j < dim; j++)
  19.    Matriz[j] = new char [dim];
  20.  for (int i = 0; i < dim; i++)
  21.    for (int j = 0; j < dim; j++)
  22.      Matriz[i][j]='0';
  23.  colocar_minas  (Matriz,dim);
  24.  imprimir (Matriz,dim);
  25.  
  26.  for (int i = 0; i < dim; i++)
  27.    for (int j = 0; j < dim; j++){
  28.  
  29.      if (Matriz[i][j]=='0')
  30.        Matriz[i][j]=ch;
  31.      if (Matriz[i][j]=='*' )
  32.        Matriz[i][j]=ch;
  33.    }
  34. imprimir (Matriz,dim);
  35.  
  36. }
  37.  
  38. void imprimir (char **Matriz,int dim) {
  39.    for (int i = 0; i < dim; i++) {
  40.      cout << "\t\t" ;
  41.      for (int j = 0; j < dim; j++){
  42.        cout << ' '  << Matriz[i][j] << ' ' ;
  43.      }
  44.      cout << "\n\n";
  45.    }
  46.    cout << "\n\n";
  47. }
  48.  
  49.  
  50. void colocar_minas (char **Matriz,int dim){
  51.  int **cont;
  52.  cont = new int *[dim];
  53.  for (int j = 0; j < dim; j++)
  54.    cont[j] = new int [dim];
  55.  for (int i = 0; i < dim; i++)
  56.    for (int j = 0; j < dim; j++)
  57.      cont[i][j]=0;
  58.  int numero,fil,col,k,l,contador=0;
  59.  cout << "Ingrese minas:";
  60.  cin >> numero;
  61.  for (int i = 0; i < numero; i++){
  62.  
  63.    do{
  64.      cout << "Introduzca fila: ";
  65.      cin >> fil;
  66.    }while(fil<1 || fil>dim);
  67.    fil=fil-1;
  68.  
  69.    do{
  70.      cout << "Introduzca columna: ";
  71.      cin >> col;
  72.    }while(col<1 || col>dim);
  73.    col=col-1;
  74.    Matriz[fil][col]='*';
  75.  
  76.    cout<<Matriz[fil][col]<< "\n\n";
  77.  }
  78.  imprimir (Matriz,dim);
  79.  
  80.  for ( fil = 0 ;fil < dim; fil++) {
  81.    for ( col = 0; col < dim; col++){
  82.    contador=0;
  83.      for ( k = -1; k < 2; k++) {
  84.        for ( l = -1; l < 2; l++){
  85.          if (fil+k < 0 || col+l < 0 || fil+k > dim-1 || col+l > dim-1)
  86.            continue;
  87.          else{
  88.            contador+=(Matriz[fil+k][col+l]-'0');
  89.          }
  90.        }
  91.      }
  92.      cont[fil][col]=contador;
  93.    }
  94.  }
  95.  for ( fil = 0 ;fil < dim; fil++)
  96.    for ( col = 0; col < dim; col++)
  97.      Matriz[fil][col]=cont[fil][col]+48;
  98.  
  99. }
  100.  
9  Programación / Programación C/C++ / Re: Matriz Dinamica en c++. Como rellenarla en coordenadas especificas? en: 10 Marzo 2014, 02:11 am
hola yoe, querido compatriota, pues si la situación de Venezuela no esta facil, creo que estamos en el peor momento. Yo solo rezo porque todo termina bien y no sigan aumentando los números de muertos, que aunque no los conozca me duelen porque son mis hermanos. Y bueno referente al proyecto solo puedo utilizar iostream y string, tengo que crear una matriz dinamica, luego ingresar el numero de minas y las coordenadas donde estaran las mismas, cubrir mi matriz y luego destaparla segun la posicion del usuario, hasta el momento este es mi codigo pero no logro poner
Código
  1. #include <iostream>
  2.  
  3.  
  4. using namespace std;
  5.  
  6. void imprimir (char **Matriz,int dim);
  7. void colocar_minas (char **Matriz,int dim);
  8.  
  9.  
  10. int main(void) {
  11.  
  12.  int dim,n;
  13.  char ch=35,sin_bomba=48;
  14.  
  15.  cout << "Introduzca la dimension de la matriz: ";
  16.  cin >> dim;
  17.  char **Matriz = new char *[dim];
  18.  for (int j = 0; j < dim; j++)
  19.    Matriz[j] = new char [dim];
  20.  for (int i = 0; i < dim; i++)
  21.    for (int j = 0; j < dim; j++)
  22.      Matriz[i][j]=sin_bomba;
  23.  
  24.  colocar_minas  (Matriz,dim);
  25.  
  26.  
  27. for (int i = 0; i < dim; i++)
  28.    for (int j = 0; j < dim; j++){
  29.      n = 1 ;
  30.      if (n<2 && Matriz[i][j]=='0')
  31.        Matriz[i][j]=ch;
  32.      else if (n==2 || n==3)
  33.        Matriz[i][j]='*';
  34.    }
  35.  
  36. }
  37.  
  38. void imprimir (char **Matriz,int dim) {
  39.  
  40.    for (int i = 0; i < dim; i++) {
  41.      cout << "\t\t" ;
  42.      for (int j = 0; j < dim; j++){
  43.        cout << ' '  << Matriz[i][j] << ' ' ;
  44.      }
  45.      cout << "\n\n";
  46.    }
  47.    cout << "\n\n";
  48. }
  49.  
  50.  
  51. void colocar_minas (char **Matriz,int dim){
  52.  int **cont,bomba=42;
  53.  cont = new int *[dim];
  54.  for (int j = 0; j < dim; j++)
  55.    cont[j] = new int [dim];
  56.  for (int i = 0; i < dim; i++)
  57.    for (int j = 0; j < dim; j++)
  58.      cont[i][j]=0;
  59.  int numero,fil,col,k,l,contador=0;
  60.  cout << "minas:";
  61.  cin >> numero;
  62.  for (int i = 0; i < numero; i++){
  63.  
  64.    do{
  65.      cout << "Introduzca fila ";
  66.      cin >> fil;
  67.    }while(fil<1 || fil>dim);
  68.    fil=fil-1;
  69.  
  70.    do{
  71.      cout << "Introduzca columna ";
  72.      cin >> col;
  73.    }while(col<1 || col>dim);
  74.    col=col-1;
  75.    Matriz[fil][col]=bomba;
  76.  
  77.    cout<<"\tM["<<fil+1<<","<<col+1<<"]="<<Matriz[fil][col]<< "\n\n";
  78.  }
  79.  imprimir (Matriz,dim);
  80.  
  81.  for ( fil = 0 ;fil < dim; fil++) {
  82.    for ( col = 0; col < dim; col++){
  83.    contador=0;
  84.      for ( k = -1; k < 2; k++) {
  85.        for ( l = -1; l < 2; l++){
  86.          if (fil+k < 0 || col+l < 0 || fil+k > dim-1 || col+l > dim-1)
  87.            continue;
  88.          else{
  89.            contador+=(Matriz[fil+k][col+l]-'0');
  90.          }
  91.        }
  92.      }
  93.      cont[fil][col]=contador;
  94.    }
  95.  }
  96.  
  97. }
10  Programación / Programación C/C++ / Re: Matriz Dinamica en c++. Como rellenarla en coordenadas especificas? en: 8 Marzo 2014, 23:58 pm
Código
  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.   int matriz,bomba='*',valor;
  8.   cin >> matriz;
  9.  
  10.   // creamos la matriz !
  11.   char **M = new char *[matriz];
  12.   for (int i = 0; i != matriz; i++)
  13.      M[i] = new char [matriz];
  14.  
  15.  
  16.   for (int i = 0; i != matriz; i++){
  17.      for (int j = 0; j != matriz; j++)
  18.         M[i][j] = '0';
  19.  
  20.         for (int a=0; a<matriz; a++)
  21. {
  22.    for (int b=0; b<matriz; b++)
  23.    {
  24.        cout << endl << "Posicion [ " << a << " ] [ " << b << " ]" << endl;
  25.        cout <<  "Ingrese un valor : ";
  26.        cin >> valor;
  27.        M[a][b] = bomba;
  28.    }
  29. }
  30.  
  31.   //mostrar matriz
  32.   for (int i = 0; i != matriz; i++){
  33.      for (int j = 0; j != matriz; j++)
  34.         cout << " " << M[i][j];
  35.  
  36.      cout << endl;
  37.   }
  38. }
  39.   for (int i = 0; i != matriz; i++)
  40.      delete[] M[i];
  41.   delete[] M;
  42.  
  43.   return 0;
  44. }
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines