Ejemplo n.º 1
0
void busqueda(int x, int y) {
    if(tablero[x][y] && x > 0 && x <=F && y > 0 && y <= C) {
        peso_tmp += tablero[x][y];
        tablero[x][y] = 0;
        busqueda(x-1,y);
        busqueda(x,y-1);
        busqueda(x+1,y);
        busqueda(x,y+1);
    }
}
Ejemplo n.º 2
0
int main(int argc, char* argv[]) {
    if(argc < 3) {
        printf("Argumentos invalidos\n");
        return 1;
    }

    if(!strcmp(argv[1], "-i")) { //Insersion
        return insersion(argc, argv);

    } else if(!strcmp(argv[1], "-l")) { //Listado
        return listado(argc, argv);

    } else if(!strcmp(argv[1], "-k")) { //busqueda
        return busqueda(argc, argv);

    } else if(!strcmp(argv[1], "-ok")) {
        return sort_menu(argc, argv, &sort_cmp_id);

    } else if(!strcmp(argv[1], "-on")) {
        printf("Sort name\n");
        return sort_menu(argc, argv, &sort_cmp_entidad);
    } else {
        printf("Argumentos invalidos\n");
        return 1;
    }

    return 0;
}
Ejemplo n.º 3
0
int main()
{
    tipo_pila *pila = (tipo_pila*)malloc(sizeof(tipo_pila));
    int error;
    
    //Inicializar
    inicializar(pila);
       
    //Apilar
    push(pila,7,&error);
    push(pila,2,&error);
    push(pila,4,&error);
    
    //Buscar un valor
    printf("Num. operaciones: %i \n",busqueda(pila,2));
    
    //Desapilar     
    pop(pila,&error);
    pop(pila,&error);
    pop(pila,&error);
    
 
    system("pause");
    return 0;
}
Ejemplo n.º 4
0
Archivo: main.c Proyecto: Braisly/ADS
int main(int argc, char** argv) {
    TablaHash tabla;
    tipo_alumno aux_alum; 
    char  clav[Tam][20]= { "" };
    colisiones(&tabla,clav,aux_alum);
    busqueda(&tabla,clav,aux_alum);
    return (EXIT_SUCCESS);
}
Ejemplo n.º 5
0
Archivo: 0.c Proyecto: nee47/backup
bool hash_pertenece(const hash_t *hash, const char *clave){
  unsigned long indice = fh(clave, hash->largo);
  if (!hash->tabla[indice]) return false;
  lista_iter_t* iter_l = busqueda(hash->tabla[indice], clave);
  if (lista_iter_al_final(iter_l)) {
    lista_iter_destruir(iter_l);
    return false;
  }
  lista_iter_destruir(iter_l);
  return true;
}
Ejemplo n.º 6
0
Archivo: 0.c Proyecto: nee47/backup
/* Obtiene el valor de un elemento del hash, si la clave no se encuentra
 * devuelve NULL.
 * Pre: La estructura hash fue inicializada
 */
void *hash_obtener(const hash_t *hash, const char *clave){
  unsigned long indice = fh(clave, hash->largo);
  if (!hash->tabla[indice]) return NULL;
  lista_iter_t* iter_l = busqueda(hash->tabla[indice], clave);
  if (lista_iter_al_final(iter_l)) {
    lista_iter_destruir(iter_l);
    return NULL;
  }
  daton_t* aux = lista_iter_ver_actual(iter_l);
  void* dato_salida = aux->dato;
  lista_iter_destruir(iter_l);
  return dato_salida;
}
Ejemplo n.º 7
0
// Función Principal.
int main(int argc, char *argv[])
{
    char opc;   // Opción de entrada.

    int arr[MAX_TAM],   // El vector.
        tam,            // El tamaño del vector.
        valor,          // El valor a buscar.
        res;            // El resultado (posición).

    printf("\t\tBúsqueda Binaria.\n\n");
    
    do{
        printf("¿Desea introducir el arreglo? S/N > ");
        scanf(" %c",&opc);
    }while(opc != 'S' && opc != 's' && opc != 'n' && opc != 'N');
    
    if(opc == 's' || opc == 'S')
    {
        leer(arr,&tam);
    }
    else
    {
        printf("Introduzca el tamaño del arreglo a generar: ");
        scanf(" %d",&tam);
        if(tam < 1 || tam > MAX_TAM)
        {
            printf("Error: Ha introducido un valor inválido, se ha truncado a %d.\n",MAX_TAM);
            tam = MAX_TAM;
        }
        for(int i = 0; i < tam; i++)
        {
            arr[i] = i+1; // 1-tam;
        }
    }

    printf("\nIntroduzca el valor a buscar en el arreglo: ");
    scanf("%d",&valor);

    res = busqueda(valor,arr,tam);

    if(res != -1)
    {
        printf("El dato (%d) se encuentra en la posición [%d] dentro del arreglo.\n", valor, res);
    }
    else
    {
        printf("El valor no se encuentra dentro del arreglo.\n");
    }
    printf("\nFin del Programa.\n");
    return 0; // Fin del Programa con estado 0.
}
Ejemplo n.º 8
0
int main()
{
    int s, n, pag;
    double aux;

    while(1)
    {
        scanf("%d", &s);
        if(s == 0) break;
        n = busqueda(s);
        pag = sum(n) - s;
        printf("%d %d\n", pag, n);
    }
    return 0;
}
Ejemplo n.º 9
0
int main() {
	int f,s = 1;
	tienda = fopen("tienda.txt","r");
	if(tienda != NULL){
		while(!feof(tienda)){
			for(i=0; i<P; i++){
				fscanf(tienda,"%d",&(inventario[i].clave));
				fscanf(tienda,"%d",&(inventario[i].existencia));
				fscanf(tienda,"%lf",&(inventario[i].precio));
				fscanf(tienda,"%s",&(inventario[i].nombre));
			}
		}
	}
	fclose(tienda);
	while(s){
		system("cls");
		printf("Escoge una funcion:\n\n");
		printf("1)Ver productos\n2)Agregar productos\n3)Resurtir existencias\n4)Buscar productos\n5)Valorar productos\n0)Salir");
		scanf("%d",&f);
		switch(f){
			case 1:
				imprimir();
				break;
			case 2:
				agregar();
				break;
			case 3:
				resurtir();
				break;
			case 4:
				busqueda();
				break;
			case 5:
				total();
				break;
			case 0:
				s = 0;
				continue;
		}
		printf("Hacer algo mas? (1: Si, 0: No)");
		scanf("%d",&s);
	}
	system("cls");
	printf("Bye");
	return 0;
}
Ejemplo n.º 10
0
Archivo: 0.c Proyecto: nee47/backup
bool almacenar(hash_t* hash, lista_t** tabla, daton_t* paquete, unsigned long largo){
  bool resu;
  unsigned long indice = fh(paquete->clave, largo );
  if (!tabla[indice]){
    tabla[indice] = lista_crear();
  }
  lista_iter_t* iter_l = busqueda(tabla[indice], paquete->clave);
  if (lista_iter_al_final(iter_l)) {  //no lo encontro
    resu = lista_insertar_primero(tabla[indice], paquete);
    hash->tam++;
    lista_iter_destruir(iter_l);
    return resu;
  }
  daton_t* aux = lista_iter_borrar(iter_l);
  free(aux->clave);
  if (hash->destruir_dato) hash->destruir_dato(aux->dato); 
  free(aux);
  resu = lista_insertar_ultimo(tabla[indice], paquete);
  lista_iter_destruir(iter_l);
  return resu;
}
Ejemplo n.º 11
0
int main() {
    scanf("%d %d", &F, &C);
    for(int i=1; i<=F; i++) {
        for(int j=1; j<=C; j++) {
            scanf("%d", &tablero[i][j]);
        }
    }

    for(int j=1; j<=C; j++) {
        for(int i=1; i<=F; i++) {
            if(tablero[i][j]) {
                peso_tmp = 0;
                actual++;
                busqueda(i, j);
                if(peso_tmp > peso_max) {
                    peso_max = peso_tmp;
                    num_crater = actual;
                }
            }
        }
    }
    printf("%d %d\n", num_crater, peso_max);
    return 0;
}
Ejemplo n.º 12
0
Archivo: 0.c Proyecto: nee47/backup
void *hash_borrar(hash_t *hash, const char *clave){
  unsigned long indice = fh(clave,hash->largo);
  if (!hash->tabla[indice]) return NULL;
  lista_iter_t* iter_l = busqueda(hash->tabla[indice], clave);
  if (lista_iter_al_final(iter_l)) {
    lista_iter_destruir(iter_l);
    return NULL;
  }
  daton_t* aux = lista_iter_borrar(iter_l);
  void* dato_salida = aux->dato; 
  free(aux->clave);
  free(aux);
  hash->tam--;
  lista_iter_destruir(iter_l);
  if (lista_esta_vacia(hash->tabla[indice])){
    lista_destruir(hash->tabla[indice], NULL);
    hash->tabla[indice] = NULL;
  }
  if (hash->tam < 3 * hash->largo && hash->largo > TAM_INI) {
    unsigned long  nuevo_largo = hash->largo /  2;
    redimensionar(hash, nuevo_largo);
  }
  return dato_salida;
}
Ejemplo n.º 13
0
main(){
	char sal='0',opt,optarre;
	printf("Bernardo Orozco Garza 1719152\n");
	printf("Lo llenaras tu o random? 1) TU 0) RANDOM  ");
	fflush(stdin);
	scanf("%c",&optarre);
	while(optarre!='1'&&optarre!='0'){
	    printf("ERROR de captura  ");
	    fflush(stdin);
        scanf("%c",&optarre);
	}
	printf("Dame el tamano del arreglo (1-10)\t");
	scanf("%d",&n);
	while(n<1||n>10){
		printf("ERROR de captura  ");
		scanf("%d",&n);
	}
	switch(optarre){
	    case '1':
            printf("Introduce los valores del arreglo\n");
            for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                    printf("%d,%d = ",i+1,j+1);
                    scanf("%f",&list[i][j]);
                }
            }
            break;
        case '0':
            for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                    list[i][j]=rand() % 10 + 1;
                }
            }
            break;
	}
	do{
		printf("Que quieres hacer? \n 1) SUMA\n 2) RESTA\n 3) DIVICION\n 4) MULTIPLICACION\n 5) ORDENAR ARREGLO\n 6) BUSQUEDA\n 7) SUMA TRIANGULO SUPERIOR E INFERIOR\n 8) SALIR\n");
		fflush(stdin);
		opt=getch();
		while(opt!='1'&&opt!='2'&&opt!='3'&&opt!='4'&&opt!='5'&&opt!='6'&&opt!='7'&&opt!='8'){
			printf("ERROR de captura 1-8 ");
			fflush(stdin);
			opt=getch();
		}

		switch(opt){
			case '1':
				sum();
				break;
			case '2':
				res();
				break;
			case '3':
				div();
				break;
			case '4':
				mul();
				break;
            case '5':
				ordenacion();
				break;
            case '6':
                busqueda();
				break;
            case '7':
                triangulo();
				break;
		}
		if(opt!='8'){
		printf("\n\ndeseas salir? 1) SI 0) NO ");
		fflush(stdin);
		scanf("%c",&sal);
		}
		while(sal!='1'&&sal!='0'){
			printf("ERROR de captura 1 o 0 ");
			fflush(stdin);
			sal=getch();
		}
		system("cls");
	}while(sal=='0'&&opt!='8');

	getch();
}