Programar em C - Funções que Recebem Vetores como Argumento - Aula 36

Поделиться
HTML-код
  • Опубликовано: 6 ноя 2024

Комментарии • 92

  • @alvaroamitailivramentosant6801
    @alvaroamitailivramentosant6801 3 года назад +18

    Já estamos em 2021 e suas aulas quebraram um galho grande aqui com minhas atividades da faculdade! Muito obg cara! O seu trabalho atravessou quase uma década! Kkkkkkkkkkkkkkk

    • @matheusplazaCC
      @matheusplazaCC Год назад

      uma decada já , ta me salvando na mesma em 2023 kkkkk

    • @miguelramos7323
      @miguelramos7323 7 месяцев назад

      @@matheusplazaCC mais então 2024 kkkkkkkkkkkkkkkk

  • @albertofelipemonteirosena4031
    @albertofelipemonteirosena4031 2 года назад +2

    meu deus eu simplesmente nao sei como agradecer a esse cara. eu não conseguia entender muito bem essa tecnica de flag de jeito algum, mas vc clareou minha cabeça de uma forma que pqp. sei que é simples mas programação é isso: as vezes vc se perde em topicos simples. obrigado cara!

  • @Savio_Santos
    @Savio_Santos Год назад +1

    Uma década depois e seus vídeos ainda são os melhores

  • @SDC202215
    @SDC202215 10 лет назад +7

    nossa cara parabéns suas aulas tem me aberto a mento para o melhor entendimento tanto aqui na web aula quando na facul, ainda mais porque tenho uma parte em trabalho onde preciso criar uma função valeu mesmo cara ta de parabens

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  12 лет назад +6

    Meu prazer em ter ajudado :D
    Caso precisa ver mais sobre comportamento de vetores e funções de uma checada nas listas de reprodução na página do canal ;)

  • @HOUPI_Games
    @HOUPI_Games 2 года назад

    Aula incrível!! estou aprendendo muito sobre a linguagem C com as suas aulas prof. Muito obrigado por compartilhar um conteúdo tão rico e acessível para todos!

  • @joaovitordemelo8209
    @joaovitordemelo8209 6 лет назад +1

    Muito bom! Eu estava tendo um pouco de confusão na hora de passar vetores como parâmetros no C, mas essa aula me ajudou muito!

  • @CleytonGoulartCorrea
    @CleytonGoulartCorrea 11 лет назад

    Gostei muito, esses vídeos ajuda muita gente a aprender a desenvolver programas de maneira simples, eficiente e objetiva. Parabéns.

  •  Год назад

    Só tem uma observação importante: Nesse contesto, vetores são os elementos do array (assumindo que os itens da lista estão arranjados em linha). Portanto, passar a variável de nome vetor como argumento significa que você está passando um array. Contudo, se fosse passado como argumento o elemento vetor[i], necessariamente seria um vetor a ser passado como argumento. Um grande exemplo de se passar um vetor genérico como argumento para uma função escrita em linguagem C seria passar um apontador.

  • @DiegoVilella
    @DiegoVilella 9 лет назад

    +RICARDO NEIVA realmente eu também aprendi a colocar o cabeçalho antes do main... Acho o correto o cabeçalho antes do Main.

  • @rhuandevops
    @rhuandevops 6 лет назад

    Parabéns pelas aulas! Creio que assim com eu, esteja ajudando muita gente!

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 лет назад

    Valeu Lidiane!

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 лет назад

    exatamente ;) acho que 1 ou 2 aulas a frente vou flar sobre isso

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 лет назад

    eu vi..cara.. realmente sei código está 100%
    o pior de tudo é que executei o seu código no Xcode e no Code Blocks e funcionou perfeitamente :/

  • @lidianemonteiro277
    @lidianemonteiro277 11 лет назад

    Excelente aula! Li vários tutoriais e vídeos! este é um dos melhores! ^^
    Além do que, quanto mais a gente pesquisa e estuda, mais fácil o conteúdo vai absorvendo na nossa mente com o tempo! parabéns pelo canal, tem me ajudado bastante a entender a lógica a ser utilizada :D

  • @robertooliveira6182
    @robertooliveira6182 8 лет назад +5

    cara... vc no excel explicou o método da bolha e no código fez o método de seleção

  • @RumoANovaJerusalemOficial
    @RumoANovaJerusalemOficial 11 лет назад

    Beleza! Já postei lá no forum o meu codigo, o topico tá com o titulo de: Problema com codigo da aula 36 - Linguagem C

  • @luizeduardosilvaresende1108
    @luizeduardosilvaresende1108 6 лет назад

    Cara, muito obrigado pela ajuda. Seus vídeos são muito bons!! Tem a minha inscrição e os meus likes!!

  • @LegiaoGamerBR
    @LegiaoGamerBR 11 лет назад

    cara no segundo for esta "j

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 лет назад

    hmm.... estranho.. tem como você postar seu código pra eu dar uma olhada.. é bem provável que tenha algo diferente haha :D
    tente postar o código aqui no RUclips.. se não der certo poste no fórum(link na descrição)

  • @gmartins-dev
    @gmartins-dev 11 лет назад +1

    aux = vetor[i];
    vetor[i] = vetor[j];
    vetor[j] = aux;
    nessa parte uma analogia interessante seria usando copos, no caso a "temporaria" (que eu chamei de aux) seria um copo vazio.

  • @linuxbashgnu6018
    @linuxbashgnu6018 8 месяцев назад

    Ola. Professor. Tem material desse curso disponível?

  • @adrianorodrigues6902
    @adrianorodrigues6902 3 года назад

    Maravilhoso

  • @thawandsonpereira6571
    @thawandsonpereira6571 9 лет назад

    Parabéns cara, excelente aula

  • @SQJOGAR
    @SQJOGAR 4 года назад

    muito bom

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 лет назад

    aew! Parabéns cara!

  • @hagamenonmachado7324
    @hagamenonmachado7324 8 лет назад +1

    Mano gostei muito, a sua didática é excelente!!!!

  • @dasilva7744
    @dasilva7744 10 лет назад

    Parabéns pelas explicações, muito bom!! :)

  • @felipegrossi8975
    @felipegrossi8975 11 лет назад

    PAASSEI GROSSI! E PASSEI BEM AINDA! TU É O CARA!

  • @ArchieMakarov
    @ArchieMakarov 3 года назад

    boa professor

  • @lullaby743
    @lullaby743 8 лет назад +2

    Dúvida: existem duas funções neste exercício: main e ordemCrescente. A função ordemCrescente é chamada levando como um dos parâmetros o VETOR[10] = {6, 4, 1, 9, 8, 0, 5, 7, 3, 2}. Este vetor está DEFINIDO em MAIN. Como, após chamar ordemCrescente e reorganizar/alterar os valores dentro desta função, posso, dentro de MAIN, imprimir estes valores no laço for, sendo que VETOR[10] = {6, 4, 1, 9, 8, 0, 5, 7, 3, 2} não é estático? Essa estrutura (VETOR) já é estática por definição? Está implícito?

  • @will_l1p3
    @will_l1p3 6 лет назад

    só coloquei um *#define** TAM* a mais...para nao precisar criar o *int n* e facilitar nas operações

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 лет назад

    Eu recebi algumas mensagens lá na página do Facebook pedindo pra usar Windows... Eu prefiro utilizar o Mac mas mudei apenas porque pediram pra mudar :/

  • @adrianargonyt1259
    @adrianargonyt1259 2 года назад

    E caso eu tenha uma função e queira retornar o vetor para a função principal? Como faço?

  • @Ratatabum
    @Ratatabum 10 лет назад +1

    Deu certo! :)

  • @gmartins-dev
    @gmartins-dev 11 лет назад

    Ei minha professora sempre pede pra gente gerar "randomicamente" os vetores usando a função, e outra pra mostrar o vetor, sao elas:
    void GerarVetor(int Vet[], int Tam, int Div){
    int i;
    srand(time(NULL));//gerar a semente para a função rand() 0 a 32768
    for(i=0;i

  • @wagnerfernandesmorei
    @wagnerfernandesmorei 11 лет назад

    ìtalo eu aprendi na facul ao invés de declarar a função e depois chama-lá,chamo a função normal ai protótipo ela,ou seja declara todas as funções antes da função main.

    • @jailsonathayde74
      @jailsonathayde74 4 года назад

      Também faço assim, nunca lanço os protótipos dentro de outra função.

  • @marcelosilva312
    @marcelosilva312 9 лет назад +7

    Como o vetor ordenado pela função conseguiu aparecer no main?

    • @MayconEislay
      @MayconEislay 9 лет назад

      +Marcelo Silva é pq o vetor vai por referencia

    • @felipecalatza6215
      @felipecalatza6215 Год назад

      a funçao foi chamada pelo main, ordenou o vetor, a main mostrou o vetor

  • @LauEeu
    @LauEeu 11 лет назад

    Me desculpa pela dúvida irrelevante, mas por que você parou de usar o mac ?

  • @rodfeliz
    @rodfeliz 11 лет назад

    mas porque os valores de vetores são alterados naquela função ? quando a gente envia o vetor estamos mandando o endereço de memoria do vetor ?

  • @gleysibianchi3807
    @gleysibianchi3807 3 года назад

    No meu compilador fica conflitando o i da função principal e da função ordemCrescente e ainda diz que n não tá declarado sendo que foi declarado na função principal e na própria função ainda, não entendo, talvez seja o compilador

  • @albertoalmeida503
    @albertoalmeida503 5 лет назад

    podia ter sido uma função pra ordenar palavra
    teria matado metade do meu trabalho de escola kkkkkk
    mt boa as aulas, to vendo a playlist td

  • @lidianemonteiro277
    @lidianemonteiro277 11 лет назад

    Italo, caso eu quisesse ordenar em ordem decrescente, seria necessário apenas modificar a condição do if para:
    if (vetor[i] < vetor[j]) ? eu fiz apenas essa alteração e está exibindo vetor em ordem decrescente corretamente... no entanto, estou achando estranho que no for tudo permaneça igual...

    • @HOUPI_Games
      @HOUPI_Games 2 года назад

      Sim. Esta correto dessa forma, já que ele vai fazer no sentido contrário! O for deve permanecer de mesma forma já que ele ainda vai fazer a verificação do membro a frente e então colocá-lo dessa vez na ordem decrescente.

  • @cefet-hr4hv
    @cefet-hr4hv 7 лет назад +1

    É possível retornar um vetor?

  • @RumoANovaJerusalemOficial
    @RumoANovaJerusalemOficial 11 лет назад

    o meu deu um problema esquisito, enves de aparecer os numeros em ordem crescente, como foi proposto pelo programa, o meu apareceu escrito dez vezes "&i", sem as aspas, o que deve ser isso? Eu já verifiquei o codigo, vi se tava igual ao seu, e tava, então, eu não to entendendo o que pode estar acontecendo, se puder me ajudar, eu te agradeço muito, valeu! E, até mais!

  • @joao5947
    @joao5947 9 лет назад

    Genial

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 лет назад

    aula 38 vai responder sua pergunta ;)

  • @thiagolf4131
    @thiagolf4131 Год назад

    por que essa função nao retorna nada? não deveria retornar a variavel vetor?

  • @wendellandrade9317
    @wendellandrade9317 9 лет назад

    no segundo for acho q ta errrado, devia ser:
    for(j = i + 1; j < n+1; j++)

    • @videos12344444444
      @videos12344444444 9 лет назад +5

      Wendell Andrade Creio que não, porque o vetor vai até 9, se você coloca n+1, o for vai buscar fora do vetor.

  • @edlb10
    @edlb10 11 лет назад

    por que vc nao retorno nada na função ordem crescente?

  • @marianamirhan101
    @marianamirhan101 6 лет назад

    Alguém me tira uma dúvida? qual a diferença entra uma função int/float, pra uma função void? Sos

    • @programacaoja9679
      @programacaoja9679 6 лет назад +2

      Void=vazio. A funçao nao retorna nada. Em geral ela recebe os argumentos e os modifica sem precisar retornar. A int/float retorna valor do tipo int/float, nesse tipo de funcao ela recebe os argumentos e faz alguma coisa usando eles para "parir" um novo valor e este será retornado

  • @RumoANovaJerusalemOficial
    @RumoANovaJerusalemOficial 11 лет назад

    Bem, não deu, vou postar lá no forum mesmo

  • @xTheusGameR
    @xTheusGameR 7 лет назад

    #include
    #include
    #include
    int main(void)
    {
    //Funções
    setlocale(LC_ALL, "");
    void ordenaVetor(int vetor[]);
    //Vetor:
    int vetor[10] = {4,8,9,3,5,7,2,1,6,10};
    ordenaVetor(vetor);
    for (int i = 0; i < 10; ++i){
    printf("%i ", vetor[i]);
    }
    return 0;
    }
    //Função Ordenação de Vetores:
    void ordenaVetor(int vetor[]) {
    int suporte = 0;
    for(int i = 0; i < 10; ++i){
    for(int j = i+1; j < 10; ++j){
    if(vetor[i] > vetor[j]){
    suporte = vetor[i];
    vetor[i] = vetor[j];
    vetor[j] = suporte;
    }
    }
    }
    }

  • @reginaldoleobinojr8509
    @reginaldoleobinojr8509 4 года назад

    Essa é a técnica bubble short?

    • @HOUPI_Games
      @HOUPI_Games 2 года назад

      Sim, são bem parecidas e o conceito é o mesmo.

  • @Adestudos
    @Adestudos 6 месяцев назад

  • @jessimarques189
    @jessimarques189 7 лет назад

    Meu código ta igual, porém não ordena, não sei pq, tentei fazer sem chamar a função e nada, uso o DEV pra compilar, acho que pode ser meu programa.
    #include
    int main(){
    int vetor[10] = {6, 4, 1, 9, 8, 0, 5, 7, 3, 2};
    int i;
    void ordemCrescente(int vetor[], int n); // chamei a função
    ordemCrescente(vetor, 10); // quanto passo o vetor, posso passar apenas o nome.
    for (i = 0; i

    • @Philipe_William
      @Philipe_William 7 лет назад +1

      Você escreveu
      ```
      if (vetor[i] > vetor[i])
      ```
      E deveria ser
      ```
      if (vetor[i] > vetor[j])
      ```
      Tenta aí e dá um retorno

  • @miguelsousaviana6989
    @miguelsousaviana6989 Год назад

    Para que serve o, system("pause")

  • @brunoblackmusic
    @brunoblackmusic 11 лет назад

    Isso

  • @howtotutorials8348
    @howtotutorials8348 4 года назад

    olá!! para que criaar uma varoável temporária?

    • @jailsonathayde74
      @jailsonathayde74 4 года назад

      Economia de memoria e processamento. A variável não fica armazenada durante o programa todo, alias, o uso de variáveis globais em C aquelas que você cria lá no início, devem ser evitadas ao máximo.

    • @HOUPI_Games
      @HOUPI_Games 2 года назад

      A variável temporária nesse caso esta auxiliando na inversão dos valores, já que com apenas o vetor[i] e o vetor[j] não é possível fazer a inversão. Sendo necessário recorrer a uma nova variável para isto.

  • @ricard0neiva
    @ricard0neiva 9 лет назад +1

    maluco me confundiu cara pq eu estudo ads porem as funçoes são todas fora do main agora fiquei loko ate rasguei o exercicio e o mesmo mas ainda nao sei faze funçao

    • @brunocalhiari976
      @brunocalhiari976 8 лет назад

      +RICARDO NEIVA neste canal têm várias aulas diferentes, se você voltar na aula que fala sobre funções vai entender isso que te deixou doido.

    • @ricard0neiva
      @ricard0neiva 8 лет назад

      fmz

  • @gilmarbbomfim09
    @gilmarbbomfim09 5 лет назад

    socorro! O meu não pega e eu fiz igual ao da tela!
    #include
    int main (void){

    int vetor[10]={1,4,3,2,5,6,7,8,9};
    int i;
    void ordemCrescente(int vetor[],int n);

    ordemCrescente(vetor, 10);

    for(i=0;i

    • @jailsonathayde74
      @jailsonathayde74 4 года назад

      Tem uma chave no 2ºFOR antes do IF que não era pra estar ali..

  • @catarinagameryotuber2776
    @catarinagameryotuber2776 4 года назад

    no meu dev c++ o código system("pause") n funciona

  • @jessimarques189
    @jessimarques189 8 лет назад

    Gente eu copiei igual o código e não ta rodando:
    # include
    void ordemCrescente(int vetor[], int n){
    int i, j, temporaria;
    for (i = 0; i < n; ++i){
    for (j = i+1; j < n; ++j){
    if (vetor[i] > vetor[j]){
    temporaria = vetor[i];
    vetor[i] = vetor[j]; ]
    temporaria = vetor[i];
    }
    }
    }
    }
    int main (void){
    int vetor[10] = {2, 3, 6, 4, 5, 9, 8, 1, 0, 7};
    int i;
    ordemCrescente(vetor, 10);
    for (i=0; i

    • @marcelo152012
      @marcelo152012 7 лет назад

      nessa parte:
      temporaria = vetor[i];
      vetor[i] = vetor[j]; ]
      temporaria = vetor[i];
      vc usou temporaria 2 vezes, na terceira troca por vetor[j] = temporaria;
      q vai dar certo

    • @marcelo152012
      @marcelo152012 7 лет назад

      e na segunda linha apague o ]

    • @romilsosilva9575
      @romilsosilva9575 6 лет назад

      # include
      void ordemCrescente(int vetor[], int n){
      int i, j, temporaria;
      for (i = 0; i < n; ++i){
      for (j = i+1; j < n; ++j){
      if (vetor[i] > vetor[j]){
      temporaria = vetor[i];
      vetor[i] = vetor[j]; ]
      temporaria = vetor[i];
      }
      }
      }
      }
      int main (void){
      int vetor[10] = {2, 3, 6, 4, 5, 9, 8, 1, 0, 7};
      int i;
      ordemCrescente(vetor, 10);
      for (i=0; i vetor[j]){
      temporaria = vetor[i];
      vetor[i] = vetor[j]; ]
      temporaria = vetor[i];
      }
      }
      }
      }
      int main (void){
      int vetor[10] = {2, 3, 6, 4, 5, 9, 8, 1, 0, 7};
      int i;
      ordemCrescente(vetor, 10);
      for (i=0; i

  • @igoralexandredecastrotoled9015
    @igoralexandredecastrotoled9015 2 года назад

    volta pelo amor de Deus

  • @tiagodossantossilva
    @tiagodossantossilva 6 лет назад

    Esse simbolo [ ] não é chave e sim colchete. Isso é chave { }.

  • @lucasrafael9662
    @lucasrafael9662 10 лет назад

    alguem poderia me dizer o que deu de errado
    #include
    #include
    #include
    int main(void){
    int vetor[10] = {5, 6, 0, 2, 8, 1, 3, 9, 4, 7};
    int i;
    void ordemcrecente(int vetor[], int n);
    ordemcrecente(vetor, 10);
    for(i = 0; i < 10; ++i){
    printf("%i", vetor[i]);
    }
    getch();
    return 0;
    }
    void ordemcrecente(int vetor[], int n){
    int i, j, temporaria;
    for(i = 0; i < n; ++n){
    for(j = i + 1; j < n; ++j){
    if(vetor[i] > vetor[j]){
    temporaria = vetor[i];
    vetor[i] = vetor[j];
    vetor[j] = temporaria;
    }
    }
    }
    return 0;
    }

    • @vlogdodanilo
      @vlogdodanilo 10 лет назад +5

      Lucas tira o getch();
      e no primeiro for de ordenação vc colocou ++n
      seria ++i
      como vc deve estar usando windows antes do return 0 da função principal use o system ("pause"); e retira esse return 0; da função de ordenação
      Espero que eu tenha respondido a tempo e que tenha dado para entender
      abraço.

    • @lucasrafael9662
      @lucasrafael9662 10 лет назад

      Danilo Brito valeu

  • @natanaelsecundo5533
    @natanaelsecundo5533 5 лет назад

    Bubble Sort

  • @victorsarfag
    @victorsarfag 8 лет назад

    for(i=0;i