Programar em C - Verificar Igualdade Entre Duas Strings - Aula 51

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

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

  • @kommanderkeen
    @kommanderkeen 9 лет назад +36

    Só lembrando o pessoal que este tipo estranho "_Bool" é realmente como o tipo boleano é identificado na linguagem. Se usar a biblioteca , então pode-se usar o tipo como "bool" (que na verdade acaba sendo apenas um alias que aponta para _Bool). A implementação do tipo boleano vem apenas na ultima especificação do C (C99). Se não roda, é por que seu compilador é compatível com uma especificação anterior da linguagem. Neste caso, melhor usar "unsigned short int" como tipo.

  • @anonimo6740
    @anonimo6740 3 года назад +2

    Parabens, sao "poucos" aqueles que compartilham conhecimento

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

    Obrigado pelo trabalho... continua válido para ajudar a aprender C, mesmo 8 anos depois !!

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

    Excelente aula, muito obrigado

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

    show! cara PHP ainda não está na lista mas quem sabe num futuro.. o que posso adiantar é que vai ter bando de dados ;)

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

    Sua aula acabou de me ajudar a resolver um exercício em que eu tava agarrado. Muito obrigado!

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

    Olha bom dia, boa tarde de acordo a luz do dia!
    Não podia passar esse fim de semana, sem lhe desejar saúde e muito sucesso nos teus planos.
    **Confesso que a cada video que assisto, torno-me mais bom na matéria. Isso é porque tens uma forma didáctica de ensinar muito boa. e preservas muito pelos conceitos básicos e importantes antes de ensinar o profundo. EX: Ao ensinares sobre STRINGS, sem ter que usar a biblioteca "STRING.H" Isso é maravilhosooooo.

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

    Cada aula melhor do que a outra, parabéns!
    Eu trocaria me professor por vc sem pensar duas vezes. Não entendo nada na Faculdade. Abraços, e obrigado pela iniciativa.

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

    Oloco. ese profesor e bom de mais. explica tudinho nao tem como nao entender. Obrigado!

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

    " 6.51 é meio complicado escrever e digitar ao tempo," e falando então só mestre meu amigo, aula top

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

    Aula perfeita.

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

    Valeu!

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

    me explica um pouco melhor como exatamente o programa funciona...
    a parte do código morse acho que não é difícil .. mas o que você quer dizer exatamente com ler as palavras que o usuário digita depois? O programa recebe código morse misturado com portugues ao mesmo tempo?
    qual o objetivo do programa? ler o código morse e retornar uma string com a tradução morse?

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

    Pode substituir s1[i] == s2[i] && s1[i] != '\0' && s2[i] != '\0' por simplesmente s1[i] == s2[i] && s1[i] != '\0' .

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

    muito bem explicado.

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

    perfeito ..parabens!

  • @moisesisraelmorielchagas
    @moisesisraelmorielchagas 4 года назад +1

    Eu resolvi assim:
    #include
    #include
    #include
    int main()
    {
    setlocale(LC_ALL, "Portuguese");
    _Bool stringsIguais(char s1[], char s2[]);
    if(stringsIguais("Casa", "Casa")){
    printf(" São iguais
    ");
    }else{
    printf(" Não são iguais
    ");
    }
    return 0;
    }
    _Bool stringsIguais(char s1[], char s2[]){
    if(s1 == s2){
    return 1;
    }else{
    return 0;
    }
    }

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

    Como ficaria caso eu quisse comparar duas palavras ou mais informadas pelo usuario?

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

    Como comparo uma lista encadeda, tenho um programa de agenda eletronica e preciso tirar nomes repetidos

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

    Eu fiz no gcc como eu sempre faço e quando as strings são verdadeiras aparece na tela do meu terminal 1 e 0, ou seja, "são iguais" e "não são iguais" e no falso dá certo como aparece 0 (não são iguai). Poderia explicar o que houve?

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

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

    Eu tive que declarar duas variáveis tipo char para funcionar

  • @luigid.122
    @luigid.122 11 лет назад

    Você explica em 15 min o que o meu professor não consegue explicar em 2 aulas hahaha

  • @pedrorodriguesdornellas1337
    @pedrorodriguesdornellas1337 10 лет назад +2

    Sendo s1 diferente de \0 não precisa fazer && s2 != \0
    Porque se s1 for nulo (\0) encerra o ciclo e se s1 for diferente de \0 e s2 igual \0, s2 será diferente de s1 então encerrara o ciclo

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

    Mas afinal, qual seria a string de boolean?
    preciso muito saber.

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

    olha, é assim: ce digita uma frase em codigo morse (ex: -.----.-.-.-.- (SEM ESPAÇO)) e depois ce pede quantos palavras ce quer para traduzir (imagina que aquilo so traduz 2 palavras mas ce fornece 4, 3 delas vao ser traduzidas e a outra nao). com essas palavras ce quer saber quantas frases traduzindo o codigo morse por completo ce consegue fazer (por exemplo, 2) e depois devolve esse valor na consola e ja está ... ja está como quem diz, que o meu não tá não

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

    Vish! :D

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

    Não seria melhor ter feito um laço for pra percorrer todas as posições do array e depois comparar?

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

    E quando eu tenho uma string com mais de uma palavra e tenho que ver quantas vezes determinada palavra se repete nessa string?

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

      Vamos chamar a sua string de 'frase' e a palavra que você procura de 'substring':
      A substring tem sempre a mesma letra na frase, concorda? Então, você deve percorrer a frase com um laço de repetição, e quando encontrar a primeira letra da substring, criar um outro pequeno laço de repetição para analizar o tamanho da substring e armazenar a quantidade(incrementar +1). Exemplo: "mariANA e adriANA assistiram bANANAs de pijama" Nesta frase, a substring 'ana' apareceu 4 vezes. Tente você fazer.

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

    se por dessa forma na função também fica bom? funcionou assim e eu achei o raciocínio mais fácil
    _Bool virificarstring (char x[], char y[]) {
    int i = 0;
    int j = 0;
    for ( ; y[j] != '\0' && x[i] != '\0' && x[i]==y[j]; ++i && ++j );
    if (x[i] == y[j]) {
    return 1;
    }
    else {
    return 0;
    }

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

    O meu copilador ñ aceitou o tipo _Boll, somente quando coloquei tipo Int, o copilador rodou, se alguém puder me explicar, desde ja agradeço.

  • @oorial
    @oorial 4 года назад +1

    Fiz um pouco diferente:
    #include
    #include
    int main(){
    _Bool stringsIguais(char str1[], char str2[]);
    if (stringsIguais("casa", "casa")){
    printf("As strings sao iguais
    ");
    }
    else {
    printf("As strings nao sao iguais
    ");
    }
    system("pause");
    return 0;
    }
    _Bool stringsIguais(char str1[], char str2[]){
    int contador = 0;
    int igual = 0;
    while (str1[contador] != '\0' || str2[contador] != '\0'){
    if (str1[contador] == str2[contador]){
    ++igual;
    }
    ++contador;
    }
    if (igual == contador){
    return 1;
    }
    else {
    return 0;
    }
    }

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

    o modo que eu fiz
    #include
    #include
    int main(void) {
    // retornar um tipo booleano (0 - 1)
    bool stringIguais(char s1[], char s2[]);
    if (stringIguais("123", "123")) {
    printf("Sao iguais
    ");
    } else {
    printf("Nao sao iguais
    ");
    }
    return 0;
    }
    bool stringIguais(char s1[], char s2[]) {
    int i;
    for (i = 0; s1[i]; i++) {
    if (s1[i] != s2[i]) {
    return false;
    }
    } return true;
    }

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

    hahaha acontece :D

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

    no Dev C nao funciona por conta do _Bool,como resolver?

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

      Eu uso funções que retornam inteiros (0 ou 1) ao invés de retornar um bool

    • @vitormanoel8115
      @vitormanoel8115 4 года назад +1

      usa "bool", se usar o _bool não da certo porque o compilador nao entende o tipo.
      ex: bool PalavrasIguais(char a[ ], char b[ ]);

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

    Realmente digitar e escrever ao mesmo tempo é muito dificil hsaushuashnausha

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

    Alguem me responde ? Eu posso fazer assim -> if (palavra1[i] == palavra2[i]) na linha 24?

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

      vc pode por o q quiser na parte de variavel BURRO

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

      @@XL777uu ?

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

      @@marcosgabriel2188 código

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

    Olá! Eu fiz uma lógica um pouco diferente na parte do while, alguém consegue me dizer se ela está certa? Ou se tem algum caso que meu código não vai funcionar? Desde já agradeço :)
    void stringsIguais(char s1[], char s2[]){
    int i = 0, iguais = 1;
    while(s1[i] != '\0' || s2[i] != '\0'){
    if (s1[i] != s2[i]) iguais = 0;
    i++;
    }

    if (iguais) printf("
    As palavras SAO iguais :)");
    else printf("
    As palavras NAO SAO iguais :(");
    }

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

    Um resultado inesperado no g++ é:
    tiago@tiago-RV415 ~/Documentos/Aula_de_C $ g++ Aula55.c -o Aula55 && ./Aula55
    Aula55.c: In function ‘int main()’:
    Aula55.c:6:3: error: ‘_Bool’ was not declared in this scope
    _Bool stringsIguais(char s1[], char s2[]);
    ^
    Aula55.c:8:34: error: ‘stringsIguais’ was not declared in this scope
    if(stringsIguais("casa", "casa"))
    ^
    Aula55.c: At global scope:
    Aula55.c:24:1: error: ‘_Bool’ does not name a type
    _Bool stringsIguais(char s1[], char s2[])
    ^
    tiago@tiago-RV415 ~/Documentos/Aula_de_C $

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

    _Bool stringsIguais(char s1[], char s2[]){
    int i=0;
    while(s1[i] != '\0' ||s2[i] !='\0'){
    if(s1[i] != s2[i])
    return false;
    i++;
    }
    return true;
    }
    #acho que assim o código fica mais eficiente, Não?

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

    sdds do meu amigo q ama pão com mortadela

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

    # include
    int main(void)
    {
    _Bool stringsIguais(char s1[], char s2[]);
    if(stringsIguais("casa", "casa"))
    {
    printf("São iguais
    ");
    }
    else;
    {
    printf("Não são iguais
    ");
    }
    }
    _Bool stringsIguais(char s1[], char s2[])
    {
    int i=0;
    while(s1[i]==s2[i] && s1[i]!='\0' && s2[i]!='\0')
    {
    ++i;
    }
    if(s1[i]=='\0' && s2[i]=='\0')
    {
    return 1;
    }
    else
    {
    return 0;
    }
    }
    A execução
    tiago@tiago-RV415 ~/Documentos/Aula_de_C $ gcc Aula55.c -o Aula55 && ./Aula55
    São iguais
    Não são iguais
    tiago@tiago-RV415 ~/Documentos/Aula_de_C $

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

    Não consegui rodar o programa ocmo esperado, ele simplesmente não fez nada, rsrs

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

    Qual o erro aqui? :o Fiz tudo igual o.O
    _Bool stringIguais(char s1[], char s2[]){
    int i = 0;
    while(s1[i] == s2[i] && s1[i] != '\0' && s2[i] != '\0')
    i++;
    if(s1[i] == '\0' && s2[i] == '\0')
    return 1;
    else
    return 0;
    }
    void main(){
    if(aula51_stringsIguais("casa", "casa"))
    printf("Sao iguais
    ");
    else
    printf("Nao sao iguais
    ");
    }

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

    Com for fica melhor eu acho :)
    int i;
    for(i = 0; s1[i] == s2[i] && s1[i] != '\0' && s2[i] != '\0'; i++);
    if(s1[i] == '\0' && s2[i] == '\0')
    return 1;
    else
    return 0;

  • @Thales-HMS
    @Thales-HMS 10 лет назад

    o meu compilador apresenta essa mensagem de erro quando compilo:
    unknown type name 'bool'
    alguem sabe o pq?
    coloquei int ao inves de bool, e assim ele funcionou

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

      Também apanhei com isso!
      Faltou o include...
      #include

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

      Alvaro Ought Obrigada pela informação!

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

      Estou bastante enferrujada em C... Decidi fazer essa revisão! As aulas são realmente muito boas! Informação nunca é demais. Antes tarde do que nunca! Concordo contigo que outras pessoas poderão incorrer no mesmo erro...

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

      Alvaro Ought Em momento algum sonhei cobrar isso dele! Estou muito grata por terem compartilhado o conhecimento. Cabe aos espectadores postar/responder dúvidas acerca, de forma a enriquecer o conteúdo exposto. Eu mesma, sempre que sei, respondo a algo.

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

      Muito obrigado, realmente vc tem razão tem que fazer o include

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

    vídeo aula bem ruim

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

      Ruim se você não acompanhou desde a aula 1...

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

      Você só pode estar maluco.

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

      Acompanhar desde a aula 1 por que se eu já sei o conteúdo dela? Se eu preciso de um conteúdo específico, eu não posso ver um curso completo para chegar no ep 50 e não entender nada...

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

      Vídeo aula boa é Curso em Vídeo. Pena que não tem linguagem C

    • @felipepacheco4684
      @felipepacheco4684 7 лет назад +2

      Não é porque você não entendeu que a video aula é ruim cara, cada um tem sua metodologia. EU achei a video aula muito boa, se você não conseguiu entender, talvez sua metodologia seja outra e se indentifique com outras videos aulas, mas para mim deu para entender perfeitamente.