Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - jonathan1099

#1
Programación C/C++ / juego del caballo
31 Octubre 2016, 00:03 AM
hola necesito ayuda tengo que hacer el juego del caballo que me diga los movimientos del caballo pero yo tengo  que indicar la posicion de inicio q puede ser cualquiera en un tablero de 8*8;  y solo puedo es que inicie desde la esquina pero no se donde hacer q me lea la posicion de inicio


este  es mi codigo


#include <stdio.h>

#define N 7
#define ncuad N*N

void mover(int tablero[][N], int i, int pos_x, int pos_y, int *q);

const int ejex[8] = { -1,-2,-2,-1, 1, 2, 2, 1 },
          ejey[8] = { -2,-1, 1, 2, 2, 1,-1,-2 };

int main(void)
{
  int tablero[N][N]; /* tablero del caballo. */
  int i,j,q;

   /* inicializa el tablero a cero */
  for (i = 0; i < N; i++)
   for (j = 0; j < N; j++)
    tablero[i][j] = 0;

   /* pone el primer movimiento */
  tablero[0][0] = 1;
  mover(tablero,2,0,0,&q);

  if (q) { /* hay solucion: la muestra. */
    for (i = 0; i < N; i++) {
      for (j = 0; j < N; j++)
        printf("%3d ", tablero[i][j]);
      putchar('\n');
    }
  }
  else
    printf("\nNo existe solucion\n");

  return 0;
}

void mover(int tablero[][N],int i, int pos_x, int pos_y, int *q)
{
  int k, u, v;

  k = 0;
  *q = 0;
  do {
    u = pos_x + ejex[k]; v = pos_y + ejey[k]; /* seleccionar candidato */
    if (u >= 0 && u < N && v >= 0 && v < N) { /* esta dentro de los limites? */
      if (tablero[u][v] == 0) {  /* es valido? */
        tablero[u][v] = i;  /* anota el candidato */
        if (i < ncuad) {  /* llega al final del recorrido? */
          mover(tablero,i+1,u,v,q);
          if (!*q) tablero[u][v] = 0; /* borra el candidato */
        }
        else *q = 1; /* hay solucion */
      }
    }
    k++;
  } while (!*q && k < 8);
}


MOD: etiquetas GeSHi
#2
Programación C/C++ / ayuda programa en c
19 Octubre 2016, 04:29 AM
hola.
tengo una duda y no se como solucionarla xD, lo que pasa es que debo hacer un programa que me lea 1 letra luego otra y asi hasta llegar a 20 y me las organice e imprima eso ya lo pude hacer.
el problema es que debo leer  e imprimir a la vez si leo A Iimprimo A  la segunda vez leo J debe imprimir J A la tercera F debe imprimir F J A y asi sucesivamente ...

esto es lo que tengo
#include<stdio.h>
#include <string.h>
char vect[1],vect2[20];
int i,j,,aux;
main(){
aux=0;   
   for( i=0;i<20;i++){
   printf("ingrese letra  %d : ",i+1);
    scanf("%c",&vect);
   _flushall();
    printf("%c",vect);
   
}


   for ( i=0;i<20;i++){
     for( j=i+1;j<20;j++){
      if (vect[j]<vect){      
            aux=vect;
            vect=vect[j];
            vect[j]=aux;
     }
   }
  }
  for(i=0;i<20;i++){
      printf("\n%c",vect);
   }
}


ayuda..
#3
Programación C/C++ / mayor y menor en un vector
30 Septiembre 2016, 17:28 PM
ayuda necesito hacer un programa que lea un vector[20], y que diga cual es el mayor el menor y que numero se repite mas ,,, ayuda por favor, se los agradecería mucho