Método burbuja en lenguaje C sencillo explicado

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ธ.ค. 2024

ความคิดเห็น • 132

  • @hectorfranciscorodriguezbe7158
    @hectorfranciscorodriguezbe7158 4 ปีที่แล้ว +14

    jaja vi 3 videos de metodo de la burbuja y fue al unico que le entendi, me ayudaste mucho me agrada que supongas que no lo sabemos todo, ya que no es nuestro y no tenemos tu logica

    • @pablovillalba6887
      @pablovillalba6887 2 หลายเดือนก่อน

      los profesores hacen al reves , suponen que sabes todo

  • @lachuchacanucha
    @lachuchacanucha 3 ปีที่แล้ว +3

    La primera vez que veo que alguien lo explica tan detalladamente, me ayudo mucho. Muchas gracias!

  • @julianromero2871
    @julianromero2871 2 ปีที่แล้ว +1

    genio total!!!!!!, saludos desde Argentina!!!!

  • @NicoleZepp
    @NicoleZepp 4 ปีที่แล้ว +18

    Sos muy bueno explicando! Deberías subir más ejercicios de C!

  • @kayosud
    @kayosud 4 ปีที่แล้ว +2

    Excelente explicación! me has aclarado perfectamente el método burbuja. Gracias!

  • @kevingtv1265
    @kevingtv1265 3 ปีที่แล้ว +5

    A salvar el semestre, que buena explicación

  • @alejandramariet7517
    @alejandramariet7517 5 ปีที่แล้ว +6

    Se te va de rango en el segundo for, la implementación correcta sería j

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว +3

      Si, en Codeblocks funciona de lo más normal, pero hay algo extraño en el uso de memoria de DEV C++ y tuve que hacerlo así. A veces hay valores que se quedan en memoria y muchos programas que funcionan de forma lógica debes alterarlos para que te anden.

    • @edgardavidvargasfuentes3015
      @edgardavidvargasfuentes3015 3 ปีที่แล้ว

      Disculpa, porqué se da eso? Justamente yo estaba haciendo un programa como este y me daba el ultimo valor "0", y solo el segundo ciclo le resté uno en la condición y ya entraba el número, ¿Podrías decirme a qué se debe? c:

    • @KuronoJhmx
      @KuronoJhmx 2 ปีที่แล้ว

      @@edgardavidvargasfuentes3015 lo correcto sería poner el segundo for con

  • @root115
    @root115 2 ปีที่แล้ว +2

    Gracias a tu video he conseguido terminar un exercicio

    • @gayanelias9938
      @gayanelias9938 2 ปีที่แล้ว

      JAJAJAJJAJA, esos videos que encontras ahi de hace 5 años y en 13 min te resuelve todo tu problema.
      De lo mejor la explicacion

  • @jimenezaraizaangelantonio4741
    @jimenezaraizaangelantonio4741 3 ปีที่แล้ว +2

    Gracias, lo explicas muy bien, es más comprensible.

  • @leonardotorresleyva5861
    @leonardotorresleyva5861 4 ปีที่แล้ว +2

    Gracias man, te entendí mucho mejor que la profa de mi escuela. Te dejo mi like

  • @Stephanie-gs4sz
    @Stephanie-gs4sz 5 ปีที่แล้ว +1

    uy nooo que manera de salvarme la vida....muchisimass gracias!!

  • @carlosmorales-bv8nr
    @carlosmorales-bv8nr 3 ปีที่แล้ว +2

    Muy bien explicado, lo necesitaba para C#, pero la logica es la misma.

    • @007Dcastillo
      @007Dcastillo  3 ปีที่แล้ว +1

      Si, la sintaxis solo varía un poco.

  • @micaelarodriguez6010
    @micaelarodriguez6010 3 ปีที่แล้ว +1

    Tenes que hacer mas videos asi!! me salvaste la clase

  • @alfonsolopez2550
    @alfonsolopez2550 5 ปีที่แล้ว +20

    En el ciclo for de j hay un comportamiendo indefinido cuando j vale 9 ya que estarias accediendo al elemento 9+1, es decir, al elemento 10, un elemento que no esta en tu matriz. Yo no usaria devc++ ya que con este tipo de cosas funcionan igual el programa y ni te enteras, en su lugar usaria g++ y un editor de texto como visual studio code que ademas trae un debugger. Resumiendo j tiene que ser < 9 no menor a 10

    • @antonioperezisaac19
      @antonioperezisaac19 5 ปีที่แล้ว

      Alfonso Lopez Hola.
      Disculpa me podrías explicar un poco mejor el porqué se debe poner 9 y no 10, lo siento site pido esto, pero quiero aprender bien este tipo de ordenamiento.

    • @007Dcastillo
      @007Dcastillo  5 ปีที่แล้ว

      Tienes toda la razón, le metí ese comportamiento a propósito porque a veces no me servía, cosas como estas no hay que hacerlas en turbo c o codeblocks

    • @1812F
      @1812F 5 ปีที่แล้ว +2

      Osea un vertor de n elementos, los tiene en n-1 posiciones (puesto que las posiciones se cuentan desde el 0)

    • @ryanpdz1568
      @ryanpdz1568 5 ปีที่แล้ว +1

      @@antonioperezisaac19 lo que se refiere esque ponga en la condicion del segundo for n - 1 para que realize el numero de procesos adecuados ya que en la estructura de un for en la condicional siempre se realizara n + 1 iteraciones alo que quiero decir esque se realizara un proceso de mas por lo que se metera al arreglo a buscar un valor que no existe.

    • @SRevan2411
      @SRevan2411 4 ปีที่แล้ว

      Sos un crack

  • @emilioflores5471
    @emilioflores5471 3 ปีที่แล้ว +3

    gracias crak

  • @frankito_soto5
    @frankito_soto5 4 ปีที่แล้ว +4

    gracias a este video me di cuenta lo inutil que es mi profesor, nos dio todo desordenado las instrucciones despues del if cuando nos enseño... muchas gracias por el video!

  • @nahuelortiz3318
    @nahuelortiz3318 3 ปีที่แล้ว +1

    muy buen video! me ayudo muchisimo

  • @khiiyauwu1671
    @khiiyauwu1671 4 ปีที่แล้ว +2

    AAAH muchas gracias ;u;, fue de gran ayuda

  • @AlejandroSanchez-fu9zn
    @AlejandroSanchez-fu9zn 5 ปีที่แล้ว +1

    Muchas gracias, excelente vídeo, me ayudo mucho.

  • @juanmanuelrodriguez6208
    @juanmanuelrodriguez6208 4 ปีที่แล้ว

    Sos un Geniooo amigooo, Seguí con mas vídeos de estos!!!

  • @rojasseverianomiguelangel1452
    @rojasseverianomiguelangel1452 3 ปีที่แล้ว +1

    eres el mejor :D

  • @felibarrera4440
    @felibarrera4440 4 ปีที่แล้ว +1

    explicas muy bien!!

  • @martinperez943
    @martinperez943 4 ปีที่แล้ว +1

    Muchas gracias

  • @FeeDeeX46
    @FeeDeeX46 5 ปีที่แล้ว +1

    Sos un crack amigo explicando! Me suscribo de una :3

  • @endertony2097
    @endertony2097 5 ปีที่แล้ว +1

    Muy bien explicado, gracias!! ^^

  • @user_2294
    @user_2294 ปีที่แล้ว +1

    Gracias

  • @lucyjp6594
    @lucyjp6594 5 ปีที่แล้ว

    Me sirvio mucho el final, gracias. ; ))

  • @memorex_5
    @memorex_5 4 ปีที่แล้ว +1

    Gracias!

  • @cooperdown1547
    @cooperdown1547 5 ปีที่แล้ว +3

    Explicas super bien broth, la única observación es al desnivel del volumen en ciertas partes, pareciera que tienes un ventilador encendido y esto provoca golpes fuertes en el audio, el ambiente igual está algo ruidoso, pero de ahí todo bien, like y suscripción, saludos! ;)

  • @diegoarmandososaarevalo9620
    @diegoarmandososaarevalo9620 3 ปีที่แล้ว

    Y sirve para un vector bidimensional?

  • @danydelacruz-c
    @danydelacruz-c 2 ปีที่แล้ว

    muy bien explicado

  • @tigrillo1439
    @tigrillo1439 5 ปีที่แล้ว +4

    Por qué se debe hacer con un doble for?

    • @visioneagle3763
      @visioneagle3763 4 ปีที่แล้ว

      porque en el primer For no se ordenaria completamente de menor a mayor. Al volver a repetirlo otra vez anadiendo otro FOR se termina de ordenar.

  • @harrysevenfold3355
    @harrysevenfold3355 2 ปีที่แล้ว

    Muchas gracias x la explicacion, lo que si tengo duda es que si esto se puede aplicar para una matriz, osea uno bidimensional

    • @007Dcastillo
      @007Dcastillo  2 ปีที่แล้ว

      Si, hay maneras de implementarlo

  • @juanch1gonz
    @juanch1gonz 3 ปีที่แล้ว +1

    graciass rey

  • @ramiroortaalbero9973
    @ramiroortaalbero9973 2 ปีที่แล้ว

    muy buen video bro

  • @evelynacevedo7751
    @evelynacevedo7751 2 ปีที่แล้ว +1

    Se podría organizar dos vectores y a su vez unirlos ordenadamente

    • @007Dcastillo
      @007Dcastillo  2 ปีที่แล้ว

      Por supuesto, podrías crear un tercer vector. E irlos comparando y llenando un tercer vector

  • @Pctec2024
    @Pctec2024 ปีที่แล้ว

    Hola podrias hacerlo con el de la burbuja mejorado ?

  • @elenfoque122
    @elenfoque122 3 ปีที่แล้ว

    Tremenda explicacion

  • @MLunited1
    @MLunited1 4 ปีที่แล้ว

    el metodo burbuja solo funciona para arreglos unidimensionales?, o tambien funciona para matrices?

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว

      Puede usarse con matrices. Tendría que hacer otro video explicándolo. Pero eso conlleva que tengo que abrir otro canal porque este estará dedicado a videojuegos en lo adelante 😅

  • @mateot8703
    @mateot8703 4 ปีที่แล้ว

    Muchas gracias ! C:

  • @franciscoherrera6180
    @franciscoherrera6180 3 ปีที่แล้ว

    Gracias

  • @luismontoya1153
    @luismontoya1153 4 ปีที่แล้ว

    Amigo y si es en un arreglo bidimensional???

  • @muckmufin
    @muckmufin 5 ปีที่แล้ว

    Hay un error pero la lógica está bien y me sirvió

  • @davidfranciscoalanizgarcia4658
    @davidfranciscoalanizgarcia4658 8 หลายเดือนก่อน

    y el archivo con el código donde lo descargo

  • @hernangonzalezgonzalez7206
    @hernangonzalezgonzalez7206 4 ปีที่แล้ว

    muy bien video amigo, una consulta... como puedo unir dos listas ya ordenadas en una sola?

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว

      Solo debes crear otro for independiente que corra el otro vector que tiene la otra lista ejemplo:
      /*este for imprime los valores del primer vector*/
      for(int i = 0; i < 10; i++)
      {
      printf("%d\t",listauno[i]);
      }
      /*El for de mas abajo "listados" imprime el vector de la segunda lista, estan independientes y no se anidan como anteriormente*/
      for(int j = 0; j < 10; j++)
      {
      printf("%d\t",listados[j]);
      }

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว

      Tambien hay otra manera, sumando si entre ambos vectores tienen 1 tamaño de 20 puedes hacerlo con solo 1 for y un bloque if, depende de tu imaginación.

  • @luizchavez94
    @luizchavez94 6 ปีที่แล้ว +2

    sabes como seria en un arreglo bidimensional?

    • @007Dcastillo
      @007Dcastillo  5 ปีที่แล้ว +1

      Si, también es posible.

    • @luizchavez94
      @luizchavez94 5 ปีที่แล้ว +1

      @@007Dcastillo sería mucha molestia si pudieras ayudarme ? no me sale , tengo un arreglo con funcion Rand y en el cual sume el total de filas y columnas pero a la hora de ordenarlo por ese método no se como

    • @007Dcastillo
      @007Dcastillo  5 ปีที่แล้ว

      @@luizchavez94 De acuerdo. Debo salir pero en unas 2 horas regreso e intentaré hacerlo

    • @luizchavez94
      @luizchavez94 5 ปีที่แล้ว +1

      @@007Dcastillo te agradezco mucho, aunque sea un ejemplo muy sencillo de un arreglo bidimensional te lo agradecere mucho

    • @007Dcastillo
      @007Dcastillo  5 ปีที่แล้ว

      @@luizchavez94 Me podrías enviar tu código para integrarle el mío para organizarlo.

  • @jesusalejandrogarridopech.227
    @jesusalejandrogarridopech.227 5 ปีที่แล้ว

    bro lo hice igual que tu pero me salen mas números de los que están en el arreglo al momento de ejecutar el programa

  • @marcopolo-jh7lm
    @marcopolo-jh7lm 2 ปีที่แล้ว

    muy bueno pero si fueron con números decimales como sería

  • @alejandrovizuetmen
    @alejandrovizuetmen 2 ปีที่แล้ว

    cual es la importancia o la razon de poner el for anidado dentgro del otro for? no entendi esa parte unu

    • @007Dcastillo
      @007Dcastillo  2 ปีที่แล้ว

      Por asi decirlo el for de afuera garantiza que el for de dentro haga el proceso 10 veces, si al for de adentro le pongo hasta el 100. Me voy a desbordar ya que el tamaño del arreglo es solo 10 y no 100. Por eso lo hago de 10 en 10 repitiendo 10 veces, por eso el for de afuera repite todo.

  • @martinaveralli3041
    @martinaveralli3041 ปีที่แล้ว

    9:42 QUE HACE EL PROGRAMA NACISISTA?

  • @taeyeonswife3885
    @taeyeonswife3885 4 ปีที่แล้ว +1

    hola, pero cómo sería si los elementos del vector son ingresados y no fijos? espero que respondas rápido, gracias!

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว +2

      Puedes hacerlo con otro ciclo for o con un while, lo colocas después de declarar las variables pero antes de que empiece el for que ordena los elementos. Si no te basta, dame unos minutos y te pongo el código en los comments.

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว +2

      Aquí te dejo. Saludos:
      #include
      int main(){
      int vector[10];
      int aux;

      for(int i = 0; i

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว +1

      Nos comentas si te sirvió.

    • @taeyeonswife3885
      @taeyeonswife3885 4 ปีที่แล้ว +1

      @@007Dcastillo SII!! MUCHAAS GRACIAS! Se ganaron una nueva suscriptora, un millon de gracias

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว

      @@taeyeonswife3885 No hay de que, saludos 👌🏽

  • @angelduvieldelgadoramos8134
    @angelduvieldelgadoramos8134 4 ปีที่แล้ว

    Esto sirve igual en c#?

  • @FREDYRONDANTTITO
    @FREDYRONDANTTITO 5 หลายเดือนก่อน

    en el for interno deberia ser menos uno que el del for externo, yaque en el if tomas uno como referencia.

  • @ronalddavidhernandezpadill8182
    @ronalddavidhernandezpadill8182 4 ปีที่แล้ว +1

    Amigo ese programa tiene errores debido a que al momento de guardar el algoritmo lo guardas en formato c++ si lo guardas en formato c te saldrán errores

  • @carlosgonzalez1039
    @carlosgonzalez1039 ปีที่แล้ว

    que pasa si el if no entra como verdadero? que puedo hacer?

  • @angelorosal1212
    @angelorosal1212 2 ปีที่แล้ว

    Lo unico raro es que despues del 11 me da un 26 y luego 35 en vez de 44 y todo el codigo esta igual

  • @maxvasques4105
    @maxvasques4105 3 ปีที่แล้ว

    sube el codigo a las descripciones

  • @felipe4177
    @felipe4177 7 ปีที่แล้ว

    porque una vez que hago el programa, lo compilo, el primer numero que me aparece es el cero siendo que nunca digite ese valor

    • @007Dcastillo
      @007Dcastillo  7 ปีที่แล้ว

      Hola, cual manera utilizaste?

    • @007Dcastillo
      @007Dcastillo  7 ปีที่แล้ว

      Debes vigilar si tienes un error en el tamaño del vector que declaraste o en el numero de iteraciones de for.

    • @007Dcastillo
      @007Dcastillo  7 ปีที่แล้ว +1

      Aquí te dejo este código el cual puedes usar para que puedas leer los valores por teclado. Se ve largo porque lo hice a proposito con cada proceso por separado, el primer for para lectura, los 2 for que siguen para la organizacion y el ultimo para la impresion.
      #include
      main(){
      int vector[10];
      int aux;
      for(int i = 0; i < 10; i++){
      scanf("%d",&vector[i]);

      }
      for(int i = 0; i < 10; i++){
      for(int j = 0; j < 10; j++){
      if(vector[j] > vector[j+1]){
      aux = vector[j+1];
      vector[j+1] = vector[j];
      vector[j] = aux;
      }
      }
      }

      for(int i = 0; i < 10; i++){
      printf("%d\t",vector[i]);

      }
      }

    • @felipe4177
      @felipe4177 7 ปีที่แล้ว

      lo que pasa que puse un tamaño incial de 100, pero lo modifico en el trancurso del programa, pero no se porque, pero luego que hago metodo de burbuja y compilo y ejecuto, el primer numero siempre es cero. Te pondre aca el codigo mejor

    • @felipe4177
      @felipe4177 7 ปีที่แล้ว

      #include
      int main (){
      int vect[100];
      int i,j;
      int a,b;
      int aux;
      printf("Ingrese numero de alumnos: ");
      scanf("%d",&a);
      for(i=0;i

  • @Richard-xh5iw
    @Richard-xh5iw 5 ปีที่แล้ว

    por que se debe de poner dos bucles for?

    • @007Dcastillo
      @007Dcastillo  5 ปีที่แล้ว

      Se puede hacer con while y do-while. Pero colocados de la misma manera

    • @cristobal8585
      @cristobal8585 4 ปีที่แล้ว

      for hace mas facil cuando conocemos el tamaño, cosa que con los arreglos siempre conocemos

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว

      @@cristobal8585 Correcto

  • @mumatim
    @mumatim 4 ปีที่แล้ว

    Amigo, hay una falla en tu metodo.
    Declaras un arreglo de 10 lugares, tu segundo for anidado recorre 10 lugares, pero cuando j = 9 (esta en el ultimo valor del arreglo) y entra en la condicion "if" se suma uno, por lo que se compararia el indice 9 de arreglo (limite) con el indice 10 del arreglo (no existe).
    Mi solucion fue restar uno en la condicion "if".

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว

      El arreglo tiene 10 lugares, pero recuerda que las posiciones van de 0 al 9. El cero cuenta, si serian 10 posiciones.

    • @007Dcastillo
      @007Dcastillo  4 ปีที่แล้ว

      Bueno, en el if que hace la comparación podrías añadirle que j debe ser menor a 10 o menor o igual a 9 y de lo contrario inducir un break

    • @vlynler1663
      @vlynler1663 ปีที่แล้ว

      Tienes razón xd, se solucionaría con que para el segundo for, se utilice hasta j

  • @FerIbarra_
    @FerIbarra_ 6 ปีที่แล้ว +1

    Lo hago igual que tú pero no me corre

    • @007Dcastillo
      @007Dcastillo  5 ปีที่แล้ว

      Disculpa, ya pudiste?

    • @angeloid07
      @angeloid07 5 ปีที่แล้ว

      en el metodo burbuja en la parte de los ciclos coloca un numero mas bajo que la cantidad de numeros en el vector si lo iniciaste en 0
      ejemplo:
      vector[10]
      for(i=0;i

  • @brendaponce9606
    @brendaponce9606 3 ปีที่แล้ว +1

    no se que pasa a mi ni me lo ordena y es el mismo código :C

    • @007Dcastillo
      @007Dcastillo  3 ปีที่แล้ว

      Te pasare una versión mejorada del código

  • @franciscoj.escobar9451
    @franciscoj.escobar9451 5 ปีที่แล้ว +6

    Esta mal hecho, te desbordas del vector cuando comparas en el final

    • @007Dcastillo
      @007Dcastillo  5 ปีที่แล้ว

      Es algo del IDE, en ocasiones hay que meter iteraciones extra. A veces lo que corre de cierta forma en DEV C++ no te corre en Code Blocks y así sucesivamente

  • @SamuelSantos-ft8qy
    @SamuelSantos-ft8qy 3 ปีที่แล้ว +1

    hola tengo una duda, nose si alguien pudiera ayudarme, lo que pasa es que cuando lo compilo me salen estos numeros independientemente de que yo no los haya puesto: -1 2 3 4 5 6 7
    Este es el codigo que hice:
    #include
    #include
    #include
    int i,j,aux;
    int v[7]={5,34,12,7,43,87,54};
    main()
    {
    for(i=0 ; i

    • @007Dcastillo
      @007Dcastillo  3 ปีที่แล้ว

      Si, tengo una versión más actualizada del código, cuando pueda te la paso que ando fuera jajaja

    • @SamuelSantos-ft8qy
      @SamuelSantos-ft8qy 3 ปีที่แล้ว

      @@007Dcastillo muchas gracias!

    • @007Dcastillo
      @007Dcastillo  3 ปีที่แล้ว

      @@SamuelSantos-ft8qy Mira, a continuación te paso uno en que la condición if se asegura de que la comparación no se desborde

    • @007Dcastillo
      @007Dcastillo  3 ปีที่แล้ว +1

      @@SamuelSantos-ft8qy #include
      int main(){
      int vector[7];
      int aux;
      for(int i = 0; i