Linguagem C | Aula 49 - Função: Array como parâmetro

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

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

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

    muito bom!!!

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

    Man, o tanto que tu me ajudou n tá escrito... Obrigado!!

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

    O Bem-te-vi Ganhou seu minuto de fama nessa aula rsrs, boa aula professor.

  • @Joao-pz4cz
    @Joao-pz4cz ปีที่แล้ว

    gênio

  • @iuri1582
    @iuri1582 7 วันที่ผ่านมา

    3:41 eu vez do nome do argumento do vetor na funcao ser "n", como a passagem é feita por referencia , eu podia nomear na mesma "v" certo , ficando ("int *v)? Que é o vetor que ta a passar como parametro

    • @progdescomplicada
      @progdescomplicada  2 วันที่ผ่านมา

      Sim, o nome não importa no parâmetro. Pode ser qualquer um.

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

    Na aula 49 no tempo 07:00 não entendi porque ele faz a mesma impressão sendo que estamos trabalhando com matriz. Porque
    ele imprime um vetor puro.

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

    Para matrizes você pode usar os parâmetros assim:
    void imprime(int n, int m, int matriz[n][m]);
    Com n e m sendo definidos antes de definir a matriz, assim não precisa usar um número fixo nas colunas da matriz do protótipo da função.

    • @lucasbrvr
      @lucasbrvr 6 ปีที่แล้ว

      Pois é cara, isso é bastante intuitivo, mas todo mundo, fala que é errado determinar o tamanho de um array ou matriz através de uma variável, até mesmo o professor deste vídeo, logo nos primórdios desta série. Mas ele não determina o porquê.

    • @maycon6344
      @maycon6344 6 ปีที่แล้ว

      Porque o certo é usar uma constante usando o #define. Não uma variável em si.

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

    parabéns explicou de forma muito simples, me ajudou muito aqui, muito obrigado!

  • @Gabriel-co6un
    @Gabriel-co6un 5 ปีที่แล้ว +1

    FINALMENTE !Uma aula em que explicam direito. Mais um inscrito.

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

    MDS!!! Aulas maravilhosas, simples e muito bem explicadas!!! Meu prof demorou 2h pra explicar tal assunto de maneira bem complicada.

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

    Muito Obrigado!

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

    Parecia que o pássaro tava cantando aqui kkkkkkk

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

    obrigado pela ótima aula, todas tem sido de grande ajuda. abraços!!!
    infinitamente melhor que na faculdade...

  • @CiroboyBR
    @CiroboyBR 8 ปีที่แล้ว +11

    Quem ouviu o lindo canto do Bem-te-vi aos 6:42 da like!

  • @CarecaResume
    @CarecaResume 10 ปีที่แล้ว

    gostaria de saber se dar para usar o array como uma função para escolher um valor menor entre varios valores

    • @gbant
      @gbant 9 ปีที่แล้ว

      Claro que sim Maico. Você itera sobre os valores do array usando um for o a variável tam (que é o tamanho do vetor) e para cada posicão testa se o valor é menor que o menor numero até o momento, se for ele será o novo menor número da array. Ao final da iteração você devolve o menor número encontrado pela sua função.
      int menor(int *vetor, int tam){
      int menor_num = vetor[0], i = 0;
      for (i; i < tam; i++){
      if (vetor[i] < menor_num)
      menor_num = vetor[i];
      };
      return menor_num;
      }

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

    Parabéns excelente aula

  • @felipe271
    @felipe271 6 ปีที่แล้ว

    uma alternativa para se trabalhar com matrizes em funções seria o ponteiro para ponteiros não?

  • @TheWeslley010
    @TheWeslley010 11 ปีที่แล้ว

    ta muito bom mesmo as aulas. vou ter prova de estrutura de dados, estou estudando bastante passagem por referencia e por valor, e tinha uma certa dificuldade pra entender a passagem de um array como parametro. com esse vídeo de 7 minutinhos consegui entender muito bem hehe obrigado ai !!

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

    como faço para passar um array como parametro sem tamanho definido?

    • @gundam7463
      @gundam7463 8 ปีที่แล้ว

      você passa por referência e usa alocação dinâmica para alocar o quanto de memória você queira.
      ex:
      void alocar( int *var )
      {
      int value = 0;
      scanf( " %d ", &value);
      var = (int *)calloc( value, sizeof( int ) );
      //- e quando nao for usar a variavel mais só liberar a memoria
      free( var );
      return ;
      }

  • @karamazovsc
    @karamazovsc 8 ปีที่แล้ว

    E quando eu não sei as dimensões da matriz, pq será o usuário que irá defini-la?

    • @vcatafesta
      @vcatafesta 8 ปีที่แล้ว

      int iBytesiMatriz = 4;
      int iMatriz[4][4];
      int iTamiMatriz = sizeof(iMatriz) / (iBytesiMatriz*iBytesiMatriz);

    • @gundam7463
      @gundam7463 8 ปีที่แล้ว

      você criar uma variável do um ponteiro tipo que você que e alocando memória.

  • @caioferreira9222
    @caioferreira9222 11 ปีที่แล้ว

    E tem problema se eu por o & na frente do nome do array qd for passa-lo para a função?

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

      Nops. Não é preciso, mas não há problemas.

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

    Professor boa dia. Nessa aula 49 fiquei com uma duvida no for da função na parte do printf. No caso ele deveria imprimir so ate 4. Pois quando chega no i = 5 a condição da falsa, pois o i = 5 e o m = 5.
    i < m (5 < 5) isso e falso pois 5 = 5 ele pula o printf. Eu testei e ele está imprimindo ate 5.
    Não estou afirmando, so estou enviando a duvida.

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

      i=0, m=5, n = v[5]={1,2,3,4,5}
      No for, o índice vai de 0 até 4(5 posições), e ele printa na tela os valores de n, na posição do índice.
      1[0]
      2 [1]
      .
      .
      .

  • @rafahsgs
    @rafahsgs 12 ปีที่แล้ว

    Vc é o cara (:

  • @igorjorgeivanovichy307
    @igorjorgeivanovichy307 6 ปีที่แล้ว

    #include
    #include
    #include
    int l, c, i;
    void printarMaior(int **p, int l, int c){
    int i, j, maior = p[0][0];
    printf("[");
    for(i=0; i

    • @progdescomplicada
      @progdescomplicada  6 ปีที่แล้ว

      Suas funções recebem como parâmetro um ponteiro para ponteiro (int **p), isso não é o mesmo que uma matriz estática.

    • @igorjorgeivanovichy307
      @igorjorgeivanovichy307 6 ปีที่แล้ว

      Linguagem C Programação Descomplicada No caso uma preciso de outra função uma com (int matriz [][])... Tava com dúvida, pensei que o ponteiro ia apontar para o primeiro espaço de memória da matriz estática...

  • @dudu020192
    @dudu020192 8 ปีที่แล้ว

    Ótima aula!!! Parabéns.
    Fiquei com uma dúvida, eu consegui criar uma matriz por referência sem demonstrar o valor das linhas e das colunas nos parâmetros.
    Este modelo está correto? Quando eu rodo o programa a matriz é executada normalmente.
    #include
    void printvetor (int *v, int tam)
    {
    int i=0;
    int n=0;
    for(i=0;i

    • @progdescomplicada
      @progdescomplicada  8 ปีที่แล้ว

      Não estão. O que vc quer fazer, exatamente?