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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Modificar busqueda binaria en: 12 Abril 2022, 23:51 pm
modifique la búsqueda binaria de manera que la función devuelva el índice del primer elemento mayor al que se está buscando y -1 en caso de que no exista ningún elemento mayor

si elijo cualquier otro numero q no sea el 144 funciona el programa, no se q estoy haciendo mal o hay una mejor forma de hacerlo

Código
  1. #include <iostream>
  2.  
  3. int busquedaBinaria(int clave, int array[], int size);
  4.  
  5. int main(){
  6.  
  7. int numero;
  8. int size = 15;
  9. int array[size] = {0, 1, 1, 2, 3, 5, 8, 13, 13, 21, 34, 55, 89, 144, 144};
  10.  
  11. std::cout << "Buscar numero: ";
  12. std::cin >> numero;
  13.  
  14. if(busquedaBinaria(numero, array, size) > 0)
  15.    std::cout << "Array[" << busquedaBinaria(numero, array, size) << "] = " << array[busquedaBinaria(numero, array, size)] << std::endl;
  16. else
  17.    std::cout << "No hay elemento mayor a " << numero << std::endl;  
  18.  
  19. return 0;
  20. }
  21.  
  22. int busquedaBinaria(int clave, int array[], int size){
  23. int centro;
  24. int bajo = 0;
  25. int alto = size - 1;
  26. while(bajo <= alto){
  27. centro = (bajo + alto) / 2;
  28. if(clave == array[centro]){
  29. while(centro < (size - 1)){
  30. if(clave < array[centro])
  31.    return centro;
  32. centro++;
  33. }  
  34. }else if(clave < array[centro])
  35.    alto = centro - 1;
  36. else
  37.    bajo = centro + 1;    
  38. }
  39. return -1;
  40. }
2  Programación / Programación C/C++ / Ordenar lista doblemente enlazada con insertion sort en: 26 Marzo 2022, 18:53 pm
Cuando esta ordenando el programa se queda pegado sin hacer nada, me podrian decir q estoy haciendo mal al ordenar

Código
  1. void Curso::InsertionSort(){
  2. // Nodo puntero sera igual al siguinte de primer
  3. Curso* puntero = primer->ptrSig;
  4. // Nodo siguiente sera igual al siguiente de puntero
  5. Curso* siguiente = puntero->ptrSig;
  6. Curso* auxiliar;
  7. // Mistras puntero sea distinto de nullptr ordena la lista
  8. while(puntero != nullptr){
  9.  
  10. while(puntero->ptrAnt->t_prioridad > puntero->t_prioridad && puntero->ptrAnt != nullptr){
  11. if(puntero->ptrAnt == primer){
  12. // El siguiente de primer sera el siguiente de puntero
  13. primer->ptrSig = puntero->ptrSig;
  14. // El anterior del siguinte de puntero sera primer
  15. puntero->ptrSig->ptrAnt = primer;
  16. // El siguiente de puntero sera primer
  17. puntero->ptrSig = primer;
  18. // El anterior de primer sera puntero
  19. primer->ptrAnt = puntero;
  20. // primer sera igual a puntero
  21. primer = puntero;
  22. }else if(puntero == ultimo){
  23. // ultimo sera igual al anterior de puntero
  24. ultimo = puntero->ptrAnt;
  25. // El anterior de puntero sera el anterior del ultimo
  26. puntero->ptrAnt = ultimo->ptrAnt;
  27. // El siguiente del anterior del ultimo sera puntero
  28. ultimo->ptrAnt->ptrSig = puntero;
  29. // El siguiente de puntero sera el ultimo
  30. puntero->ptrSig = ultimo;
  31. // El anterior del ultimo sera puntero
  32. ultimo->ptrAnt = puntero;
  33. }else{
  34. auxiliar = puntero->ptrAnt;
  35. auxiliar->ptrSig = puntero->ptrSig;
  36. puntero->ptrSig->ptrAnt = auxiliar;
  37. auxiliar->ptrAnt->ptrSig = puntero;
  38. puntero->ptrAnt = puntero->ptrAnt;
  39. puntero->ptrSig = auxiliar;
  40. auxiliar->ptrSig = puntero;
  41. }
  42. }
  43. puntero = siguiente;
  44. siguiente = siguiente->ptrSig;
  45. }
  46. }
  47.  
3  Programación / Programación C/C++ / Lectura de fichero de texto en c++ el programa no ejecuta en: 16 Marzo 2022, 04:48 am
lo que quiero hacer es leer estas 2 variables de un fichero de texto

Proceso1   6
Proceso2   7
Proceso3   2
Proceso4   10

pero el programa no se ejecuta, y no se que estoy haciendo mal, la cola si funciona ya la probé sin datos del fichero

Código
  1. std::ifstream archivoProcesos("Procesos.txt");
  2. NodoProceso* Cola;
  3. std::string linea;
  4. std::string nombreProceso;
  5. int tiempoCPU;
  6. for(std::string proceso; std::getline(archivoProcesos, linea); ){
  7.  
  8. std::istringstream datosProceso(linea);
  9.  
  10. for(int columna = 0; std::getline(datosProceso, proceso, ' '); columna++){
  11. switch(columna){
  12. case 0:
  13. nombreProceso = proceso;
  14. break;
  15. case 1:
  16. tiempoCPU = std::stoi(proceso);
  17.    break;
  18. }
  19. }
  20.                Cola->encolar(nombreProceso, tiempoCPU);
  21. }
4  Programación / Java / Re: AYUDA URGENTE en: 30 Abril 2021, 01:12 am
estaba utilizando applet.AudioClip pero los audios pequeños de 1 2 o 3 segundos los lee pero no se escuchan hay algun otro metodo porque es algo urgente porq esta forma no importa como lo haga me da un error exception
5  Programación / Java / Re: AYUDA URGENTE en: 30 Abril 2021, 01:04 am
lo guardo en java source package
6  Programación / Java / Re: AYUDA URGENTE en: 30 Abril 2021, 00:46 am
Código
  1. Clip sound = Sonido.GameSound("Choque-de-Ficha.wav");
  2.        sound.start();
  3.        sound.stop();
7  Programación / Java / AYUDA URGENTE en: 30 Abril 2021, 00:39 am
Quiero reproducir audios pequeños pero el codigo me da este error

java.io.IOException: Stream closed
Exception in thread "main" java.lang.NullPointerException

¿que estoy haciendo mal?

Código
  1. public static Clip GameSound(final String ruta) {
  2.        Clip clip = null;
  3.  
  4.        try{
  5.            InputStream is = ClassLoader.class.getResourceAsStream(ruta);
  6.            AudioInputStream ais = AudioSystem.getAudioInputStream(new BufferedInputStream(is));
  7.            DataLine.Info info = new DataLine.Info(Clip.class, ais.getFormat());
  8.            clip = (Clip) AudioSystem.getLine(info);
  9.            clip.open(ais);
  10.        }catch(Exception e){
  11.            System.out.println("" + e);
  12.        }
  13.  
  14.        return clip;
  15.    }
8  Programación / Programación C/C++ / Colas de supermercado en: 13 Marzo 2020, 23:45 pm
Hola tengo que hacer un proyecto de simulación gráfica de colas de supermercado en lenguaje c, y no encuentro ninguna información de esto para guiarme, donde puedo encontrar información de esto? "NO ESTOY PIDIENDO CÓDIGO" ya hice las colas y las voy mostrando en pantalla de esta forma

system("cls");

caja 1: *****

caja 2: ****

Imprimo las colas de cada caja completa y voy borrando la pantalla para que se vea cuando sale y entra un cliente. Lo que quiero saber es como simular esto de forma gráfica, que librería debo usar, porque el proyecto me pide que los clientes entran en el supermercado y se muevan por los pasillos y luego a las cajas, y debo usar hilos para esto? "SOLO PIDO ORIENTACIÓN NO QUE ME HAGAN EL PROYECTO"
9  Programación / Programación C/C++ / Ayuda con memoria dinamica en: 10 Febrero 2020, 05:44 am
Que error tengo en la linea 128?

mercado->p = (struct Puestos) malloc(sizeof(struct Puestos) * tam);

y si hago estas dos funciones

void espacio_memoria(Mercados *mercado); para crear espacio en memoria de todo
void free_memoria(Mercados *mercado); y para liberarla

también me funciona?

Código
  1. /* Se necesita la información de los mercados municipales de ciudad Guayana, indicando
  2.    el nombre de cada mercado, dirección, TLF y la información del coordinador del
  3.    mercado (c.i, nombre, apellido y teléfono). Cada mercado tiene un máximo de 50
  4.    puestos, a cada puesto se le específica un nro de local y tamaño (largo y ancho),
  5.    datos del propietario (TLF, c.i, nombre y apellido) y cada local almacena
  6.    adicionalmente los ingresos por cada mes del año.
  7.    
  8.    *Realizar una función para solicitar la información y una para mostrarla, usar dichas
  9.    funciones para un total de 20 mercados municipales
  10.    
  11.     *Crear las cadenas dinámicamente.
  12.     *Los puestos de mercado crearlos dinámicamente.
  13.     *Los mercados crearlos dinámicamente. */
  14.  
  15. #include<stdio.h>
  16. #include<stdlib.h>
  17.  
  18. typedef struct Mercados_Municipales{
  19. char* nombre;
  20. char* direccion;
  21. char* telefono;
  22. struct Datos_Coordinador *info_c;
  23. struct Puestos *p;
  24. }Mercados;
  25.  
  26. struct Datos_Coordinador{
  27. char* nombrec;
  28. char* apellidoc;
  29. char* cedulac;
  30. char* telefonoc;
  31. };
  32.  
  33. struct Puestos{
  34. int numero;
  35. struct Tamano *t;
  36. struct Datos_Propietario *info_p;
  37. int* mensual;
  38. };
  39.  
  40. struct Tamano{
  41. float largo;
  42. float ancho;
  43. };
  44.  
  45. struct Datos_Propietario{
  46. char* nombrep;
  47. char* apellidop;
  48. char* cedulap;
  49. char* telefonop;
  50. };
  51.  
  52. void Presentacion();
  53. Mercados *Leer_Mercado();
  54.  
  55. int main(){
  56.  
  57. Mercados *mercados[20];
  58. char desicion;
  59. int cantidad;
  60.  
  61. Presentacion();
  62.  
  63. for(cantidad = 0; cantidad < 20; cantidad ++){
  64.  
  65. printf("\tMercado Municipal #%d\n\n", cantidad + 1);
  66. mercados[cantidad] = Leer_Mercados();
  67.  
  68. do{
  69. printf("Pasamos a otro? [S/N] ", cantidad);
  70. desicion = getchar(); // Leemos un caracter
  71. while(getchar() == EOF); // Necesario para se coma el \n
  72. }while(desicion != 'S' && desicion != 's' && desicion != 'N' && desicion != 'n');
  73. if(desicion == 'N' || desicion == 'n') break; // Si elige N, se sale
  74.  
  75. }
  76.  
  77. return 0;
  78. }
  79.  
  80. void Presentacio(){
  81. printf("\t\t*********************************\n");
  82. printf("\t\t*         Giudad Guayana        *\n");
  83. printf("\t\t*      Mercados Municipales     *\n");
  84. printf("\t\t*********************************\n\n");
  85. }
  86.  
  87. Mercados *Leer_Mercado(){
  88.  
  89. Mercados *mercado = (Mercados *) malloc(sizeof(Mercados));
  90.  
  91. mercado->nombre = (char *) malloc(sizeof(char) * 20);
  92. mercado->direccion = (char *) malloc(sizeof(char) * 50);
  93. mercado->telefono = (char * ) malloc(sizeof(char) * 15);
  94.  
  95. printf("Nombre: ");
  96. gets(mercado->nombre);
  97. printf("Direccion: ");
  98. gets(mercado->direccion);
  99. printf("Telefono: ");
  100. gets(mercado->telefono);
  101.  
  102. printf("\nInformacion del Coordinador\n\n");
  103.  
  104. mercado->info_c = (struct Datos_Coordinador *) malloc(sizeof(struct Datos_Coordinador));
  105.  
  106. mercado->info_c->nombrec = (char *) malloc(sizeof(char) * 20);
  107. mercado->info_c->apellidoc = (char *) malloc(sizeof(char) * 20);
  108. mercado->info_c->cedulac = (char *) malloc(sizeof(char) * 15);
  109. mercado->info_c->telefonoc = (char *) malloc(sizeof(char) * 15);
  110.  
  111. printf("\tNombre: ");
  112. gets(mercado->info_c->nombrec);
  113. printf("\tApellido: ");
  114. gets(mercado->info_c->apellidoc);
  115. printf("\tCedula: ");
  116. gets(mercado->info_c->cedulac);
  117. printf("\tTelefono: ");
  118. gets(mercado->info_c->telefonoc);
  119.  
  120. printf("\nNumero de Locales ");
  121. int i, tam; scanf("%d", &tam);
  122.  
  123. mercado->p = (struct Puestos) malloc(sizeof(struct Puestos) * tam);
  124.  
  125. for(i = 0; i < tam; i++){
  126.  
  127. mercado->p[i]->numero = i;
  128.  
  129. mercado->p[i]->t = (struct Tamano) malloc(sizeof(struct Tamano));
  130.  
  131. mercado->p[i]->info_p = (struct Datos_Propietario) malloc(sizeof(struct Datos_Propietario));
  132. mercado->p[i]->info_p->nombrep = (char *) malloc(sizeof(char) * 20);
  133. mercado->p[i]->info_p->apellidop = (char *) malloc(sizeof(char) * 20);
  134. mercado->p[i]->info_p->cedulap = (char *) malloc(sizeof(char) * 15);
  135. mercado->p[i]->info_p->telefonop = (char *) malloc(sizeof(char)* 15);
  136.  
  137. printf("\n\tTamaño [L/A]: ");
  138. scanf("&d %d", &mercado->p->t->largo, &mercado->p->t->ancho);
  139. printf("\tInformacion del Propietario\n\n");
  140. printf("\t\tNonbre: ");
  141. gets(mercado->p->info_p->nombrep);
  142. printf("\t\tApellido: ");
  143. gets(mercado->p->info_p->apellidop);
  144. printf("\t\tCedula: ");
  145. gets(mercado->p->info_p->cedulap);
  146. printf("\t\tTelefono: ");
  147. gets(mercado->p->info_p->telefonop);
  148.  
  149. printf("\n\tIngresos Mensuales: "); int j;
  150. mercado->p->mensual = (int *) malloc(sizeof(int) * 12);
  151.  
  152. for(j = 0; j < 12; j++){
  153. printf("\t\t#%d. ", j + 1);
  154. scanf("%d", &mercado->p->mensual[j]);
  155. }
  156.  
  157. }
  158.  
  159. return mercado;
  160. }
  161.  
10  Programación / Programación C/C++ / Estructuras Anidadas, dudas en: 8 Febrero 2020, 21:28 pm
Nose  si la estructura anidada esta bien declarada porque cuando voy a ingresar los datos del coordinador el programa deja de funcionar, y si estoy creando bien las cadenas y mercados dinamicamente?

Código
  1. /*
  2.       Crear las cadenas dinámicamente.
  3.       Los mercados crearlos dinámicamente.  */
  4.  
  5. #include<stdio.h>
  6. #include<stdlib.h>
  7.  
  8. typedef struct Mercados_Municipales{
  9. char *nombre;
  10. char *direccion;
  11. char *telefono;
  12. struct Datos_Coordinador *c;
  13. }Mercados;
  14.  
  15. struct Datos_Coordinador{
  16. char *nombrec;
  17. char *apellidoc;
  18. char *cedulac;
  19. char *telefonoc;
  20. };
  21.  
  22. void Presentacion();
  23. Mercados *Leer_Mercado(void);
  24. void Imprimir_Mercado(Mercados *mercado);
  25.  
  26. int main(){
  27. Mercados *mercados[20];
  28. char desicion;
  29. int cantidad, mercado = 0;
  30.  
  31. Presentacion();
  32.  
  33. for(cantidad = 0; cantidad < 20; cantidad++){
  34.  
  35. printf("\n\tMercado Municipal #%d\n\n", cantidad + 1);
  36. mercados[cantidad] = Leer_Mercado();
  37.  
  38. do{
  39.  
  40. printf("\n\tPasamos a otro? [S/N] ");
  41. desicion = getchar();       /* Leemos un caracter */
  42. while(getchar() == EOF);    /* Necesario para que se coma el \n */
  43.  
  44. }while(desicion != 'S' && desicion != 's' && desicion != 'N' && desicion != 'n');
  45. /* Si elige N o n, se sale */
  46. if(desicion == 'N' || desicion == 'n') break;
  47. }
  48.  
  49. printf("\nInformacion del Mercado: ");
  50. scanf("%d", &mercado);
  51.  
  52. Imprimir_Mercado(mercados[mercado - 1]);
  53.  
  54. return 0;
  55. }
  56.  
  57. void Presentacion(){
  58. printf("\t\t********************************\n");
  59. printf("\t\t*        Ciudad Guayana        *\n");
  60. printf("\t\t*     Mercados municipales     *\n");
  61. printf("\t\t********************************\n");
  62. }
  63.  
  64. Mercados *Leer_Mercado(){
  65.  
  66. Mercados *mercado = (Mercados *) malloc(sizeof(Mercados));
  67.  
  68. mercado->nombre = (char *) malloc(sizeof(char) * 20);
  69. mercado->direccion = (char *) malloc(sizeof(char) * 50);
  70. mercado->telefono = (char *) malloc(sizeof(char) * 15);
  71.  
  72. printf("Nombre: ");
  73. gets(mercado->nombre);
  74. printf("Direccion: ");
  75. gets(mercado->direccion);
  76. printf("Telefono: ");
  77. gets(mercado->telefono);
  78.  
  79. mercado->c->nombrec = (char *) malloc(sizeof(char) * 20);
  80. mercado->c->apellidoc = (char *) malloc(sizeof(char) * 20);
  81. mercado->c->cedulac = (char *) malloc(sizeof(char) * 15);
  82. mercado->c->telefonoc = (char *) malloc(sizeof(char) * 15);
  83.  
  84. printf("Informacion del Coordinador\n\n");
  85. printf("\tNombre: ");
  86. gets(mercado->c->nombrec);
  87. printf("\tApellido: ");
  88. gets(mercado->c->apellidoc);
  89. printf("\tCedula: ");
  90. gets(mercado->c->cedulac);
  91. printf("\tTelefono: ");
  92. gets(mercado->c->telefonoc);
  93.  
  94. return mercado;
  95. }
  96.  
  97. void Imprimir_Mercado(Mercados *mercado){
  98. printf("\n\tMercado Municipal: %s\n\n", mercado->nombre);
  99.  
  100. printf("Direccion: %s\tTelefono: %s\n\n",
  101.       mercado->direccion, mercado->telefono);
  102.  
  103. printf("Datos del Coordinador:\n\n");
  104. printf("%s %s\tCedula: %s\n",
  105.       mercado->c->nombrec, mercado->c->apellidoc,
  106.   mercado->c->cedulac);
  107.    printf("Telefono: %s\n\n", mercado->c->telefonoc);
  108. }
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines