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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Programación C/C++ / error en cola prioritaria c++ en: 18 Febrero 2023, 20:18 pm
muestra la primera lista_t con solo en primer nodo, luego la segunda igual y la tercera tambien igual y ahi el programa no continua y se cierra solo, no encuentro donde esta el problema

Código
  1. void SistemaInscripcion::insertarPrioridad_2(Alumno* alumno){
  2.    Alumno *actual = cabeza_a, *anterior = nullptr;
  3.    while(actual && compararPorNivelPromedio(alumno, actual)){
  4.        anterior = actual;
  5.        actual = actual->siguiente;
  6.    }
  7.    alumno->siguiente = actual;
  8.    if(anterior)
  9.        anterior->siguiente = alumno;
  10.    else
  11.        cabeza_a = alumno;
  12. }
  13.  
  14. void SistemaInscripcion::insertarPrioridad_3(Alumno* alumno){
  15.    Alumno *actual = cabeza_a, *anterior = nullptr;
  16.    while(actual && compararPorCreditosPromedio(alumno, actual)){
  17.        anterior = actual;
  18.        actual = actual->siguiente;
  19.    }
  20.    alumno->siguiente = actual;
  21.    if(anterior)
  22.        anterior->siguiente = alumno;
  23.    else
  24.        cabeza_a = alumno;
  25. }
  26.  
  27. void SistemaInscripcion::eliminarLista(){
  28. while(cabeza_a){
  29. Alumno* eliminar = cabeza_a;
  30. cabeza_a = cabeza_a->siguiente;
  31. delete eliminar;
  32. }
  33. }
  34.  
  35. void SistemaInscripcion::asignarCupos(SistemaInscripcion* lista_a){
  36. for(Materia* m = cabeza_m; m != nullptr; m = m->siguiente){
  37. SistemaInscripcion lista_t;
  38. for(Alumno* a = lista_a->cabeza_a; a != nullptr; a = a->siguiente){
  39. for(auto it : a->materias){
  40. if(it == m->codigo_materia){
  41. if(m->prioridad == 1){
  42. lista_t.insertarPrioridad_1(a);
  43. }
  44. if(m->prioridad == 2){
  45. lista_t.insertarPrioridad_2(a);
  46. }
  47. if(m->prioridad == 3){
  48. lista_t.insertarPrioridad_3(a);
  49. }
  50. }
  51. }
  52. }
  53. lista_t.imprimirListaAlumnos();
  54. lista_t.eliminarLista();
  55. }
  56. }
2  Programación / Programación C/C++ / Re: Como reemplazar una cadena c++ en: 9 Febrero 2023, 02:53 am
Ya esta solucionado, gracias
Código
  1.  
  2.               for(auto& it : puntero->alumno.materias){
  3. if(it[0] == _materia && i < _cupos){
  4. it[1] = "INSCRITO";
  5. std::cout << "INSCRITO" << std::endl;
  6. }else if(it[0] == _materia && i >= _cupos){
  7. it[1] = "SIN CUPO";
  8. }
  9. }
3  Programación / Programación C/C++ / Como reemplazar una cadena c++ en: 8 Febrero 2023, 23:32 pm
Quiero hacer esto
Código
  1. struct Alumno{
  2. std::string nombre;
  3. std::string cedula;
  4. float indice;
  5. int nivel;
  6. int creditos;
  7. std::vector<std::vector<std::string>> materias;
  8. };
  9.  
  10. // Aqui guardo los datos en el vector
  11.  
  12.                        while(stream){
  13.    materia = {_materia, ""};
  14.    nodo->alumno.materias.push_back(materia);
  15.    getline(stream, _materia, ',');
  16. }
  17.  
  18.  
  19.                for(auto it : puntero->alumno.materias){
  20. if(it[0] == _materia && i < _cupos){
  21. it[1] = "INSCRITO";
  22. std::cout << "INSCRITO" << std::endl;
  23. }else if(it[0] == _materia && i >= _cupos){
  24. it[1] = "SIN CUPO";
  25. }
  26. }
pero ya intente de varias fomas y no reemplaza la cadena, no se si es por el it
4  Programación / Programación C/C++ / quick sort descendente en: 27 Enero 2023, 02:06 am
tengo un error en el quick sort descendente pero no lo encuentro

Código
  1. void swap(int &a,int &b){
  2. int aux = a;
  3. a = b;
  4.    b = aux;
  5. }
  6.  
  7. int particion(std::vector<int>& array, int inicio, int final){
  8. int piv = array[inicio];
  9. int i = inicio + 1;
  10. for(int j = i; j <= final; j++){
  11. if(array[j] > piv){
  12. swap(array[i], array[j]);
  13. i++;
  14. }
  15. }
  16. swap(array[inicio], array[i - 1]);
  17. return i - 1;
  18. }
  19.  
  20. void quickSort(std::vector<int>& array, int inicio, int final){
  21. if(inicio < final){
  22. int piv = particion(array, inicio, final);
  23. quickSort(array, inicio, piv - 1);
  24. quickSort(array, piv + 1, final);
  25. }
  26. }

esto es ejemplo d lo que aparece en pantalla
arreglo desordenado
10
3
4
9
7
1
5
8
2
6
ordenado
1066696018
10
9
8
7
6
5
4
3
2
5  Programación / Programación C/C++ / Menu en c++ en: 26 Enero 2023, 00:23 am
Quisiera saber si hay mejores formas de hacer un menu, o la mejor forma es con switch
6  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. }
7  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.  
8  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. }
9  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
10  Programación / Java / Re: AYUDA URGENTE en: 30 Abril 2021, 01:04 am
lo guardo en java source package
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines