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); } }
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; }
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; }
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); }
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; }
/* 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; }
// 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. }
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; }
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; }
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; }
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; }
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; }
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(); }