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

Поділитися
Вставка
  • Опубліковано 20 січ 2025

КОМЕНТАРІ • 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 2 роки тому

      Ou aprendendo😂

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

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

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

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

  • @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?

  • @alef781
    @alef781 6 років тому

    excelente, muito fera mesmo.

  • @MsPistoler
    @MsPistoler 9 років тому

    Opa mano valeu !!! Acompanhando ! =D

  • @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?

  • @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.

  • @LegiaoGamerBR
    @LegiaoGamerBR 11 років тому +1

    a sim... obrigado

  • @BearkFearGamer
    @BearkFearGamer 7 років тому +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.

  • @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?

  • @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 !

  • @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

  • @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?

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 років тому +1

    show! :D

  • @LegiaoGamerBR
    @LegiaoGamerBR 11 років тому +3

    podia aproveitar e mostrar o do.. while

  • @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

  • @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

    hahaha trinquei! :D

  • @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);

  • @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 !

  • @ulisses5250
    @ulisses5250 3 роки тому

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

  • @PauloSYSengineering
    @PauloSYSengineering 11 років тому +1

    Ele já falou nas primeiras aulas.

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

    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!

  • @MarcioPereira-rf3un
    @MarcioPereira-rf3un 11 років тому

    parabens

  • @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

  • @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

  • @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

  • @bruno17271
    @bruno17271 11 років тому +3

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

  • @gmartins-dev
    @gmartins-dev 11 років тому

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

  • @Adestudos
    @Adestudos 8 місяців тому

    🎉

  • @wesleysilva9343
    @wesleysilva9343 4 роки тому

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

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

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

  • @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.

  • @DiogoOliveira-iu4ro
    @DiogoOliveira-iu4ro 9 років тому

    A mensagem q da string was not declared in this scope

  • @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

  • @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 ^^

  • @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

  • @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!

  • @LegiaoGamerBR
    @LegiaoGamerBR 11 років тому

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

  • @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

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 років тому

    aula 70 falo sobre isso :)

  • @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] )

  • @DiogoOliveira-iu4ro
    @DiogoOliveira-iu4ro 9 років тому

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

  • @edlb10
    @edlb10 11 років тому

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

  • @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;
    }

  • @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

  • @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'

  • @clerdsonjuca3823
    @clerdsonjuca3823 8 років тому

    to fazendo sistema e tu e meu prof kkkkkk

  • @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 10 років тому

    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 10 років тому

      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 Рік тому

    #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;
    }