Programar em C - Contar Caracteres de uma String - Aula 49

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

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

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

    Excelentes aulas...explica muito bem...TKS

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

    Suas aulas são muito boas! ótimas para ficar revisando antes das provas haha :)

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

      Ou aprendendo😂

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

      @@potatojuice8950 Carai mano tu responde comentários de uma década atrás rksajfadk

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

      @@driftaddictbr kkkkk imagina que a pessoa via, seria muito bacana kk

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

    excelente, muito fera mesmo.

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

    Opa mano valeu !!! Acompanhando ! =D

  • @BearkFearGamer
    @BearkFearGamer 6 ปีที่แล้ว +20

    Quem assistiu desde o começo e chegou até aqui é guerreiro!

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

      Horrível o entendimento, sem didática, imagina voce ta na linha de baixo e voltar pra primeira, e ele fala em um caralho de um erro o tempo inteiro, porque nao corrigi essa bosta antes.

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

      @@rubsoncarneirobastos5877 Capaz, video mega bom, o cara é um dos melhores professores online que já conheci.

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

    Valeu Marcio!

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

      gostaria de tira duas duvidas em relação a C, a primeira é que tenho que comparar um vetor de char com outro, para que onde tenha uma letra igual ele fique na posição ex Char letra [2] [26]={'a','b,'c'}, o segunda seria uma frase onde se tive essas letras ele ia comparar, só que essas letras iam ser comparadas com relação ao numero iguais que se repete as letras, não sei se a senhora me entendo. A segunda duvida é como salvar isso e mostra a frase, como se fosse uma descriptografia. tem como fazer isso?

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

    outra maneira de resolver é colocando +1 no printf de saida, ficaria assim.
    printf(" A string %s possui %i caracteres :
    ", stringUsuario, num+1); assim tambem funciona correto.

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

    vídeo de utilidade pública, por que raios desistiu do canal???

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

      Me pergunto a mesma coisa.

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

      Mas numa coisa podemos concordar, o professor gosta de pão com mortadela kkkkkk

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

      Ele deve ter se formado e começado a trabalhar e não tem mais tempo... Algo considerado normal nos dias de hj !

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

    Eu fiz dessa maneira:
    int main () {
    char palavra1[50];
    int cont = 0;
    printf("Digite um palavra ou uma frase.
    ==> ");
    fflush(stdin); gets(palavra1);
    // Com essas funções é possível digitar frases inteiras com espaços até o limite de 50 caracteres.
    while (palavra1[cont] != '\0') {
    cont++;
    } cont++;
    printf("O nome digitado foi %s com %i letras
    ", palavra1, cont);
    return 0;
    }

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

      Quando usa get não é C++?

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

      @@daniellycor3747 não sei em C++. Mas em C, a função gets lê a palavra, como se fosse um scanf para números.

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

      porque voce colocou cont++ pra contar novamente depois da chave???

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

      ​@@pedrolucassouzafariaisso foi usado tbm ao final do vídeo e foi explicado pelo autor do video

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

    👏👏👏 e se eu quiser somar o total de carácteres com o total de carácteres de um número com 4 dígitos?

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

    a sim... obrigado

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

    podia aproveitar e mostrar o do.. while

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

    Ele já falou nas primeiras aulas.

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

    Boa noite! Como saber quantos itens foram inseridos em uma matriz que o número de linhas e colunas foram informadas pelo usuário com valor de 0?

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

    no scanf , nao utiliza "&" nao?para poder armazenar a string na memoria?vlw

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

      Não precisa, mas se colocar dá no mesmo. O porque disso você vai entender quando for ver ponteiros

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

      agradece !

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

    hahaha trinquei! :D

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

    Muito bom suas aulas, inclusive estou usando-as para estudar para a prova, uma pergunta, eu poderia utilizar EOF no lugar de '\0'?

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

    show! :D

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

    while((int)palavrinha[quantidadeCaracteres]!=0)
    {
    quantidadeCaracteres++;
    }
    Exemplo usando type cast para conferir se o valor numérico do caractere é 0, ou seja, nulo.

  • @LucasSilva-vf6ud
    @LucasSilva-vf6ud 8 ปีที่แล้ว +3

    e como q eu conto quando a string tem espaços no meio tipo LUCAS DE SOUZA = 14??
    vlw

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

      pois é tenho a mesma dúvida

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

      descobri como, ao invés de usar scanf use gets(stringusuario);

  • @MarcioPereira-rf3un
    @MarcioPereira-rf3un 11 ปีที่แล้ว

    parabens

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

    Se o "scanf" estiver dando problema, usem a função "fgets": fgets( stringUsuario, 20, stdin);

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

    Gostaria de saber como eu faço para que apos eu digitar uma palavra a mesma aparece novamente só que carácter por carácter como se houvesse um delay, e não aparecesse tudo de uma só vez?

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

    gostaria de tira duas duvidas em relação a C, a primeira é que tenho que comparar um vetor de char com outro, para que onde tenha uma letra igual ele fique na posição ex Char letra [2] [26]={'a','b,'c'}, o segunda seria uma frase onde se tive essas letras ele ia comparar, só que essas letras iam ser comparadas com relação ao numero iguais que se repete as letras, não sei se a senhora me entendo. A segunda duvida é como salvar isso e mostra a frase, como se fosse uma descriptografia. tem como fazer isso?

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

    valeu

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

    preciso contar a quantidade de strings, alguma dica de como fazer em c ?

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

      Em uma frase? Basta contar quantos caracteres são iguais ao "barra de espaço". O número de strings é sempre um a mais!

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

    o que é mais raro neve no deserto ou um dislike nos videos do italo?

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

    como que faz para copiar a string de uma struct para outra do mesmo tipo sem fazer com que uma aponte para o endereço de memória da outra.. copiar apenas o valor de uma para outra

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

    Por que não colocou o "&" na variável dentro do scanf?

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

    Como eu faço p programa contar apenas letras dentro de uma frase?

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

      só eliminar os espaços que são caracteres

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

    aula 70 falo sobre isso :)

  • @gmartins-dev
    @gmartins-dev 11 ปีที่แล้ว

    numCaracteres++; ou ++numCaracteres; Quais as diferenças/vantagens de se usar cada um desses em determinada ocasião?

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

    no return do while tbm poderia colocar numCaracteres+=1?
    return numCaracteres+=1;
    acredito que sim

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

    essa juncao de if + while é igual a um ciclo for

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

    Cara, fiquei com essa dúvida, você usou o scanf sem o Ecomercial, já me ferrei várias vezes por esquecer o endereçamento. Porque seu código foi compilado sem? :/ Abs e ótima aula.

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

      Cara, a razão eu não sei direito, mas quando você vai ler strings, não precisa colocar o "E" comercial, isso é mais para caracteres sozinhos.

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

      Não cara, já sei o que é. O "E" usado pra int é por causa do endereço em que se tem que armazenar o conteúdo, já uma string como tem que declarar um vetor as posições já ficam localizadas, pegando da primeira [0] até a indexação limite colocando cada caractere em uma posição. (y)

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

      aaaah ^^

  • @thiagoferreiradealmeida3210
    @thiagoferreiradealmeida3210 10 ปีที่แล้ว +11

    Testei essa aula no meu computador, e o interessante é só conseguimos contar as letras de uma palavra, pois quando vamos escrever uma frase, usamos o espaço que conta como \0, fazendo a contagem se interromper....

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

      +Thiago ferreira de almeida
      while((int)palavrinha[quantidadeCaracteres]!=0)
      {
      quantidadeCaracteres++;
      }

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

      Umas das opções é colocar scanf("%[^
      ]"); desse jeito ele lê tudo o que você digita até você dar
      que no caso é o enter no teclado

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

    to fazendo sistema e tu e meu prof kkkkkk

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

    Alguem pode me ajudar em um programa, eu preciso contar quantas vezes a palavra "escola" aparece em uma frase, mas não tenho ideia de como fazer isso

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

    por que você não colocou o & no primeiro scanf? Na hora de receber a string

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

      Strings não usam & no scanf. Dá erro.

  • @LuizFernando-ff4ip
    @LuizFernando-ff4ip 7 ปีที่แล้ว +1

    10:35 era mais facil voce inicializar a variável numCaracteres com o valor 1

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

      char nome[] = "PEDRO" > 0-1-2-3 > while(string[ numCaracteres = 1] ) > while(string[ numCaracteres = 0] )

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

    Para resolver o problema do número de caracteres estar contando apenas os caracteres visiveis, bastaria inicializar o contador valendo 1.

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

      Mas dai, ele vai contar a partir do primeiro caractere, no caso de "casa" ele vai contar partir do 'a', o valor vai da 4 também.

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

      @@douglascackovski9900 quis dizer valendo -1

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

    #include
    #include
    main()
    {
    char str[20];
    int numcaractere = 0;
    printf("Digite um nome: ");
    gets(str);
    while(str[numcaractere] != '\0')
    {
    ++numcaractere;
    }
    printf("O nome %s possui %d caracteres.
    ", str, numcaractere);
    return 0;
    }

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

    Testei esse programa no site: www.onlinegdb.com/ e deu erro

    • @1000grausantiago
      @1000grausantiago 6 ปีที่แล้ว

      essa é a 4º vez que sigo os programas dele e da erro. O compilador dele é diferente de geral tbm

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

    o caractere nulo é algo do c, não vejo ele com alguma utilidade, se tiver alguém pode me dar um exemplo. Obg!

  • @DiogoOliveira-iu4ro
    @DiogoOliveira-iu4ro 9 ปีที่แล้ว

    A mensagem q da string was not declared in this scope

  • @Adestudos
    @Adestudos 7 หลายเดือนก่อน

    🎉

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

    Não estou conseguindo ver o Video.. a Imagem esta muito embaçada!! :3

    • @lucasribeiro219
      @lucasribeiro219 10 ปีที่แล้ว +9

      Ja tentou aumentar a resoluçao KKKKKK'

  • @DiogoOliveira-iu4ro
    @DiogoOliveira-iu4ro 9 ปีที่แล้ว

    O meu não tá executando, ele para no while (string[numCaracteres]!= '\0')

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

    Qual a necessidade de "declarar" a função na linha 4?

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

      não sei se vc ainda precisa da informação, mas é necessário pra inicializar a função

  • @Davi-vz3rq
    @Davi-vz3rq 3 ปีที่แล้ว

    #include
    int main(void)
    {
    char stringUsuario[20]; //definindo que a string tem 20 slots
    printf("Digite uma palavra(string)
    ");
    scanf("%s", stringUsuario);
    int numCaracteres = 0; //definindo que o numero de caracteres vai começar em "0"
    while (stringUsuario[numCaracteres] != '\0') //quando a stringUsuario for diferente de \0 o numCaracteres sera adicionado +1
    {
    numCaracteres++; //adicionando +1 consecutivamente
    }
    printf("
    O tamamho da string %s e %d caracteres
    ", stringUsuario, numCaracteres);
    return 0;
    }

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

    Eu ainda acho que esse "caractere" nulo na verdade é contado como 2 caracteres: barra E zero.

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

      \0 e lido como um comando apesar de ter 2 caracteres
      tipo o
      no printf ele ler a string e se ele notar o padrao
      em alguma parte da string ele ja quebra linha

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

      dai eu acho q ele chamam de caractere nulo porque ele n tem nenhuma funçao de um caractere como o "a","b" so serve pra informar ao compilador o final da string

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

    não seria mais fácil criar só um laço for? Assim:
    for(i=0;string[i];i++);
    printf("%d",i);

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

      Sim, você pode utilizar porem isto imprimirá multiplas mensagens até o ultimo numero.
      Melhor utilizar o While(String[i]) i++;

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

      Não irá porque eu coloquei o ";" após o laço for...

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

      +Lucas Kirsten Vc teria que usar um if dentro desse for comparando o caractere. Caso fosse igual ao nulo, dava um comando BREAK pra sair.

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

      Desta forma funciona 100%
      int i;
      for(i = 0; string[i] != '\0'; i++);
      printf("%d",i);

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

    eu prefiro usar o strlen
    printf("digite seu nome:
    ");
    gets(nome);
    tam=strlen(nome);

  • @MikaelMMVIII
    @MikaelMMVIII 10 หลายเดือนก่อน

    #include
    int lens(char string[]){
    int count = 0;
    char car;
    while(string[count] != '\0'){
    count ++;
    }
    return count;
    }
    int main(void){
    char string[0];
    printf("Digite uma palavra: ");
    scanf("%s", string);
    printf("A string '%s' possui ao todo %i caracteres", string, lens(string));
    return 0;
    }