Curso de Programação C | Faça um programa para ordenar um vetor de números inteiros | aula 117

Поділитися
Вставка
  • Опубліковано 17 гру 2024

КОМЕНТАРІ • 43

  • @enockjr5048
    @enockjr5048 8 місяців тому +5

    Salvando os estudantes de TI do Brasil

  • @otavio6711
    @otavio6711 Рік тому

    Com certeza! Um dos melhores cursos que tem no youtube!

  • @jefessonbuarque4394
    @jefessonbuarque4394 4 роки тому +4

    muito bom

  • @ryanlucas7926
    @ryanlucas7926 Рік тому

    Suas aulas são top. Tem alguma aula sobre ordenação quick sort em C?

  • @shyokyu754
    @shyokyu754 2 роки тому

    muito bom para explicar

  • @antonnelly
    @antonnelly Рік тому

    Muito bom!

  • @fjv_mp
    @fjv_mp Рік тому

    Ótima didática. 👍

  • @Caio_ADS
    @Caio_ADS 2 роки тому +1

    Obrigado, aprendi muito com vc!

  • @MrLookMenderx
    @MrLookMenderx 2 роки тому +1

    Muito obrigado! Pude compreender o Bubble Sort perfeitamente!

  • @andrehadera2274
    @andrehadera2274 2 роки тому +1

    Queria te agradecer, estou tendo aula de estrutura de dados no terceiro semestre da faculdade e esses seus vídeos estão me ajudando demais

    • @programeseufuturo
      @programeseufuturo  2 роки тому

      Opa, que bom saber que estão ajudando André :)
      Obrigado pelo feedback e bons estudos.

  • @RyanVasco
    @RyanVasco 2 роки тому +1

    Aula bem completona, eu tava com duvidas na ultima aula mas acho q agr n, eu sem querer fiz o exercicio dessa aula na outra kkk. Eu fiz um algoritmo que usava 2 vetores para ordenação.

    • @programeseufuturo
      @programeseufuturo  2 роки тому

      rsrsrs faz parte Ryan, mas fique atento ao que o exercício de fato está pedindo, isso pode ser decisivo em uma avaliação rsrs.

  • @allsimoes
    @allsimoes 2 роки тому

    Muito bom! Você tem videos sobre quick e merge sort?

  • @khel8472
    @khel8472 2 місяці тому

    faltou colocar no título exercício 7

  • @o0nerBs
    @o0nerBs 3 роки тому +1

    JOGA O FINO DA BOLA!

  • @marcosantoniobeletatojunio5407
    @marcosantoniobeletatojunio5407 3 роки тому +2

    Professor, eu tinha realizado um algoritmo um pouco diferente, eu fixava o primeiro valor e ia alterando ele sempre que encontrasse um número menor, mas dessa forma com menor número de repeticões é muito mais interessante mesmo! Inclusive fica até mais fácil de entender o que esta acontecendo. Meu código tinha ficado assim:
    int main(){
    setlocale(LC_ALL, "Portuguese");
    int vetor[100], aux = 0;
    srand(time(NULL));
    for(int i = 0; i < 100; i++){
    vetor[i] = rand() % 1000;
    }
    printf("
    Vetor: ");
    for(int i = 0; i < 100; i++)
    printf("%3d ", vetor[i]);
    for(int i = 0; i < 100; i++){
    for(int j = i; j < 100; j++){
    aux = vetor[i];
    if(vetor[j] < aux){
    vetor[i] = vetorO[j];
    vetor[j] = aux;
    }
    }
    }
    printf("

    Vetor ordenado: ");
    for(int i = 0; i < 100; i++)
    printf("%3d ", vetor[i]);
    getchar();
    return 0;
    }

    • @programeseufuturo
      @programeseufuturo  3 роки тому +1

      Perfeito Marcos. Ordenar o vetor "carregando" o menor elemento para o início é bem similar, a única diferença é que a troca agora ocorre quando você encontra um valor menor e não maior. Você pode aplicar a mesma ideia no seu algoritmo para identificar se o vetor já está ordenado.

  • @euassistovc3325
    @euassistovc3325 2 роки тому +1

    professor, não entendi pq usou i + 1 no for que ordena, poderia dar uma breve explicaçao?

    • @programeseufuturo
      @programeseufuturo  2 роки тому +2

      🤔 🤔 🤔
      Confesso que fiquei sem saber o que dizer agora rsrsrs
      Você assistiu o vídeo?
      O objetivo é ordenar um vetor de inteiros. Para ordenar números eu preciso comparar esses números de dois em dois para descobrir quem é maior e quem é menor. É isso que eu faço, pego um número e comparo com o número seguinte no vetor. Como estamos dentro de um for com a variável i, para cada valor de i eu vou comparar o número na posição i com o próximo. Como eu pego o próximo? É a posição seguinte do vetor, i + 1.
      Se o i vale 3, vou comparar o número da posição 3 com o da posição 4 ( i + 1 ).
      Se o i vale 79, vou comparar o número da posição 79 com o número da posição 80 ( i + 1 ).

  • @geanhq2353
    @geanhq2353 Рік тому +1

    😘

  • @carencris8785
    @carencris8785 2 роки тому +3

    Voltei na ativa professor, estou fazendo lógica 2 na faculdade, tá difícil convencer o povo que seu curso da 10 a 0 no Guanabara 😂 mas uma hora vão se dar conta.

    • @carencris8785
      @carencris8785 2 роки тому +1

      Ele não dá a teoria suficiente para gente resolver os desafios, dai frusta muito.

    • @programeseufuturo
      @programeseufuturo  2 роки тому +2

      😅 😅 😅
      Seja bem vinda de volta Caren rsrsrs
      Muito obrigado pelo incentivo. De fato, a teoria parcial (incompleta) pode complicar bastante para quem está aprendendo.

    • @Rafael-fp9xc
      @Rafael-fp9xc 2 роки тому +1

      creio q estejas equivocado meu amigo. São cursos para propósitos diferentes. O do Guanabara de lógica foi feito para pessoas q estavam entrando no mundo da programação, portanto é bom para iniciantes que nunca tiveram contato com programação principalmente. Na minha facul de ADS o professor começou dando lógica em C com exercícios similares a mesma e ensinava bem, porém a galera empacava porque nunca viu uma linguagem de programação na vida, e enquanto alguns tinham muita dificuldade, outros conseguiam entender boa parte do c, mas eram minoria. Já esse curso acredito que seja para quem esteja mais avançado no mundo da programação (talvez para alguém q tenha feito o do Guanabara), e já tenha começado a estudar os assuntos, ou pessoas que querem se arriscar pulando direto para lógica com a própria linguagem, o que pode dar bom ou dar mtt ruim.

    • @carencris8785
      @carencris8785 2 роки тому

      @@Rafael-fp9xc mas sem dúvida que esse curso vem depois de lógica de programação, mas eu paguei mensalidade por 6 meses no curso do Guanabara, em línguagem C no estudo nalta, ele se quer chegou em vetor, mas o curso de Java dele e sensacional, só comecei a entender os conceitos de programação orientada a objeto com os vídeos dele, estava me referindo a linguagem C..

    • @carencris8785
      @carencris8785 2 роки тому

      @@Rafael-fp9xc e no curso de Python ele deixa desafios de coisas que ainda não ensinou, frustrei um pouco de não conseguir fazer, aqui, consegui fazer tudo, pois as aulas conceituais foram bem explicadas, nos dando a base para resolver os exercícios sozinho..

  • @nickmario9760
    @nickmario9760 3 роки тому +1

    Vindo aqui de novo em matrizes pq encontrei uma dificuldade tentando fazer programas sozinho, bem professor como faço pra trocar as linhas pelas colunas de uma matriz? eu tentei fazer um código que a partir do scanf pegasse os valores normalmente assim como o senhor ensinou, fiz a impressão dessa matriz, mas ai eu pensei em pegar essa matriz e em vez de fazer a transposta, inverter os valores que são das linhas fossem para coluna.
    eu tentei fazer um bolha (segue abaixo) mas deu errado dmskkkkk
    aux = matriz[i][j];
    aux2 = matriz[j][i];
    matriz[j][i] = aux;
    matriz[i][j] = aux2;

    • @programeseufuturo
      @programeseufuturo  3 роки тому +1

      Olá Mario.
      Você disse que não está fazendo a matriz transposta, mas fazendo com que a linha vire a coluna. Isso é uma matriz transposta.
      A ideia é esta mesma, copiar o elemento da posição ij para a posição ji, mas você precisa de outra matriz para copiar de uma matriz A para uma matriz B, senão os elementos ficarão todos embaralhados. Você teria percebido isso se tivesse desenhado uma matriz pequena em um papel e tentado fazer esse passo a passo.
      Vamos lá. Imagine a seguinte matriz:
      3 5 7
      8 9 4
      1 6 2
      Você disse que está trocando os elementos da linha com a coluna, então a linha 3 5 7 irá se tornar a primeira coluna enquanto a coluna 3 8 1 irá se tornar a primeira linha.
      3 8 1
      5 9 4
      7 6 2
      Até aí tudo bem. Agora vem o problema. Observe que o 5 e o 7 já foram trocados, mas quando você chegar na linha de índice 1 o 5 será trocado novamente e quando você chegar na linha de índice 2 o 7 será trocado novamente. Isso ocorre porque você está tentado gerar a matriz transposta manipulando uma única matriz.
      O algoritmo bolha é um algoritmo de ordenação, ele não vai te ajudar muito não.

  • @heitorcordeiro1431
    @heitorcordeiro1431 2 роки тому

    essa questão eu tive que bater cabeça, mas o erro foi so na hora deu colocar o valor do meu j
    #include
    #include
    #include
    int main (){


    int i, j, vet[100], aux;
    srand(time(NULL));
    for(i = 0; i < 100; i++){
    vet[i] = 1 + rand() % 100;
    printf("%3d ", vet[i]);
    }
    printf("

    ");

    for(i = 0; i < 100; i++){
    for(j = i; j < 100; j++){
    if(vet[i] > vet[j]){
    aux = vet[i];
    vet[i] = vet [j];
    vet[j] = aux;
    }
    }
    printf("%3d ", vet[i]);
    }

    return 0;
    }