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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Alguién que por favor me ayude :O en: 10 Julio 2014, 10:58 am
Buenos días compañeros !

Tengo un problema gigante , estoy haciendo un proyecto y llegué al punto en el que no sé como bajar las filas

Es algo así como un candy crush lo que no puedo hacer la función para eliminar las coincidencias que en este caso sería el resultado de cruz_abajo y que caigan las demás ; y que luego de que caigan todas se creen más aleatorios con este código

Código:
char dulces[]= "8O"; //tipos de dulces

int numdedulces=sizeof(dulces)/sizeof(dulces[0])-1;


void  iniciar(){
 
   srand(time(0));//numeros Aleatorios en funcion del tiempo
    for (int i=0;i<9;i++)//para desplazarse  por las columnas
    {
        for (int j=0;j<9;j++)//para desplazarse por las filas
        {
           tablero[i][j]=dulces[rand()%numdedulces];//Agrega numero aleatorio a la posicion ij de la matriz
            printf("\t%c",tablero[i][j]);//imprime elemento de la matriz en pantalla
        }
      cout << endl << endl << endl;//para dejar espacios entre filas.
    }
}


Código:

#include <iostream>
#include <utility>//swap posicion
using namespace std;

int tablero [8][4] = {{0,4,5,9},{0,4,5,9},{0,4,5,9},{0,0,2,1},{0,0,5,1}, {1,1,2,3},{1,2,0,2},{1,3,2,3}};

void imprimir () {
for (int i= 0;i<8; i++){
for (int j= 0; j<4; j++){
cout<<tablero[i][j]<<"\t";
}
cout << endl;
}
}

int cruz_abajo(int x, int y){
int contador = 1;
for (int indice = 1; indice < 8; indice++){

if ((tablero[x][y] == tablero[x+indice][y]) && ((x+indice) <=8) ){
contador++;
}
else{
indice = 8;
}
}
return contador;
}


void barrido_y_borrado(int i, int j){  ///// elimina !
if(cruz_abajo(i,j)>=3){
int coincidencia = cruz_abajo(i,j);
int bajar = 0;
for(int elemento = i; bajar < coincidencia  ;elemento++){// veces
        for (bajar=0; i-1-bajar >= 0 ; bajar ++){//Limite
 swap (tablero[i+coincidencia-1-bajar][j],tablero[i-1-bajar][j] );
}
}
}
}
int main(int argc, char *argv[]) {
    int i,j;
imprimir();
cin>>i>>j;
cout<<cruz_abajo(i,j);
barrido_y_borrado(i,j);
cout<<endl;
imprimir();
system("PAUSE");
return 0;

}





No se si me hice entender :C
necesito ayuda urgente :C
Gracias por leer :)
y más gracias aún si me puedes ayudar !   :huh:
2  Programación / Programación C/C++ / Holaaaa !!! en: 6 Julio 2014, 20:06 pm
Soy más o menos nuevo en programación y estoy usando c++

Tengo el problema de que necesito intercambiar 2 elementos de una matriz.

he buscado información y no he dado con como hacerlo :C

si me pudiesen explicar con este código


#include <iostream>
#include <stdio.h>
#include <cstring>
#include <stddef.h>

using namespace std;


int tablero [2][5] = {{0,0,2,1,7}, {1,1,2,3,4}};

void imprimir(){     //imprimir matriz
       for (int i= 0;i<2; i++){  
   for (int j= 0; j<5; j++){
   cout<<tablero[j]<<"             ";
    
    }
   cout << endl << endl << endl;
   }}
   
   
int main(int argc, char *argv[]) {
  
  int i1,j1,i2,j2;
  
  
  imprimir ();

  cout<<"posicion 1= i ; j"<<endl;
  cin>>i1>>j1;
  cout<<"posicion j= i ; j"<<endl;
  cin>>i2>>j2;  
    
    

    
system ("PAUSE");
return 0;
}


El código no es importante , yo se que está a medias solo lo pongo porque es simple y puedo entender mejor ;
esto lo necesito para aplicarlo a un codigo más grande ;


Gracias adelantadas :) ;

ayy !  y si alguien sabe mucho de matrices y me puede ayudar sería muy bueno que me diera un contacto , no sé correo o whatsapp o algo , para que me pudiera ayudar a crear una funcion para que luego de borrar una fila en una matriz los elementos de arriba caigan , algo asi como un candy crush :S

por favor no criticas , es que ya no hallo como seguir y necesito ayuda

Gracias ! :)))
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines