Ir ao conteúdo
  • Cadastre-se

matheuscrluiz

Membro Júnior
  • Posts

    9
  • Cadastrado em

  • Última visita

Reputação

9
  1. Boa tarde amigos. Estou com uma duvida e gostaria da ajuda de vocês; Referente a abstração em reação a entrada, saida, memoria e cpu. Os exemplos que consegui pensar foram: Entrada - input() Saida - print() cpu - variveis memoria - for vocês sabem outros exemplos de abstrações? desde ja, obrigado.
  2. Prezados, boa noite. Preciso fazer um programa que é: "calcular quantas vezes cada palavra aparece em uma string", pensei em diversas formas e não obtive sucesso com o que tenho em mente. Meu programa divide a frase em várias quando se depara com um espaço digitado pelo usuário. Porém, como posso fazer para ARMAZENAR essas palavras que dividi em uma outra string? Desde já, obrigado. Segue o código que fiz até agora: #include <stdio.h> #include <string.h> int main(void) { char frase[80]; printf("\nDigite: "); fgets(frase,80,stdin); int tamanho = strlen(frase); char *token = strtok(frase, " "); for (int i = 0; i < tamanho; i++) { printf(token[i] == 0 ? "\\0" : "%c", token[i]); } while(token != NULL) { printf("\n%s", token); token = strtok(NULL, " "); } }
  3. Prezados, Boa noite. Estou tentando resolver este problema, mas não faço a menor ideia de como resolve-lo 100%. Tentei fazer o melhor que pude, meu código não faz o que se pede por eu não saber como resolver, porém, tentei ir o mais longe que consegui. Estou há dias tentando resolver e não consigo sair do lugar mais, qualquer ajuda será muito bem vinda. Segue o código abaixo: E desde já, muito obrigado. Explicando meu código para mais fácil compreensão de todos: O melhor que consegui fazer foi contar a quantidade de palavras digitadas em uma frase a partir dos espaços dados pelo usuário. Porém, não sei como comparar as palavras e verificar se são iguais. Com isso, meu programa só conta a quantidade de palavras. Exemplo: "Gostaria de sua ajuda" Palavras digitadas: 4. Obs: Sei que no "soma+1" poderia ter inicializado a variavel contadora com 1 ao invés de 0, mas preferi somar 1 ao final da frase por questão de gosto somente. Se isso interferir em algo, sintam-se livres para altera-lo. Att; Matheus /* Escrever um programa em C que calcule a frequência de uso de cada palavra dentro de uma cadeia de caracteres que possui diversas palavras. Considerar o tamanho máximo da cadeia como sendo de 80 colunas. */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main (void) { char frase[80]; int i; int soma =0; printf("\nDigite: "); fgets(frase, 80, stdin); for(i=0;i<strlen(frase);i++) { if(frase[i] == ' ') { soma++; /*soma a quantidade de espaços digitados na frase */ } } printf("\nA quantida de palavras digitadas foi de: %d", soma+1); /*(soma+1) pois soma todos os espaços antes da ultima palavra e a soma tb */ return 0; }
  4. @BEZERRA_BRITO Boa noite. É autoaprendizagem, tive uma matéria em c há anos, porém dada muito superficialmente. E quanto a uso de funções prontas: O ideal seria sem funções como strtok() ou semelhantes. Mas se seu domínio nesta questão for usando funções e puder me ajudar as usando, sua ajuda será muito bem vinda visto que estou com enorme dificuldade nesta questão. Logo, o ideal seria sem funções prontas, mas se a única solução conhecida for a usando, será bem vinda. Desde já, muito obrigado pela ajuda.
  5. Prezados, Boa noite. Estou tentando resolver este problema, mas não faço a menor ideia de como resolve-lo 100%. Tentei fazer o melhor que pude, meu código não faz o que se pede por eu não saber como resolver, porém, tentei ir o mais longe que consegui. Estou há dias tentando resolver e não consigo sair do lugar mais, qualquer ajuda será muito bem vinda. Segue o código abaixo: E desde já, muito obrigado. Explicando meu código para mais fácil compreensão de todos: O melhor que consegui fazer foi contar a quantidade de palavras digitadas em uma frase a partir dos espaços dados pelo usuário. Porém, não sei como comparar as palavras e verificar se são iguais. Com isso, meu programa só conta a quantidade de palavras. Exemplo: "Gostaria de sua ajuda" Palavras digitadas: 4. Obs: Sei que no "soma+1" poderia ter inicializado a variavel contadora com 1 ao invés de 0, mas preferi somar 1 ao final da frase por questão de gosto somente. Se isso interferir em algo, sintam-se livres para altera-lo. Att; Matheus. /* Escrever um programa em C que calcule a frequência de uso de cada palavra dentro de uma cadeia de caracteres que possui diversas palavras. Considerar o tamanho máximo da cadeia como sendo de 80 colunas. */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main (void) { char frase[80]; int i; int soma =0; printf("\nDigite: "); fgets(frase, 80, stdin); for(i=0;i<strlen(frase);i++) { if(frase[i] == ' ') { soma++; /*soma a quantidade de espaços digitados na frase */ } } printf("\nA quantida de palavras digitadas foi de: %d", soma+1); /*(soma+1) pois soma todos os espaços antes da ultima palavra e a soma tb */ return 0; }
  6. @devair1010 Obrigado pela ajuda, não tinha pensado nisso. Mas tive uma dúvida no seu programa, se puder me ajudar, agradeço. no "fgets" eu pegaria \n\0, mas no meu for pra contabilizar os espaços, já não tiraria o \n e \0? e "if(texto == texto[j] && j != i)", você fez " j != i" para as posições serem diferentes, certo? Não sei se isso interferiu ou não, mas na palavra "calculo" funcionou direitinho, porém, quando testei com "rinosoro", deveria retornar 3(i,n,s), certo? Mas retornou zero e não consegui entender o por que. Será que teve influencia desse FOR? Mas desde já, muito obrigado pela ajuda no programa, ajudou muito. Att; Matheus
  7. @isrnick @MB_ @arfneto , Obrigado pela ajuda. Consegui entender melhor o conceito do que deveria fazer no meu programa. De novo, muito obrigado pela ajuda de todos vocês. Att, Matheus.
  8. @MB_ obrigado pela resposta e me perdoe, mas não consegui entender. Poderia me explicar melhor, por favor? Desde ja, agradeço.
  9. Boa noite prezados. Não estou conseguindo excluir as letras repetidas e contar somente as distintas. Por exemplo: "CALCULO" tem 7 letras e 4 repetidas, com isso, deveriar mostrar somente 3. Porém no meu programa ele só remove um "c" e um "l" ao invés dos dois. Alguem pode me ajudar? ja tentei de tudo e nao consigo . Segue codigo. Escrever um programa em C que calcule e imprima o número de caracteres distintos presentes em uma cadeia de caracteres dada. Considerar o tamanho máximo da cadeia como sendo de 80 colunas. */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char texto[50]; int i,c, conta=1; int total; int repetidos=0; printf("\nDigite a frase: "); fgets(texto, 50, stdin); c = strlen(texto); printf("\n %s", texto); for(i=0; i<texto[i]; i++) { if(texto[i]==' ') { conta++; // espaços } } for(i=0;i<texto[i];i++) { for(int j=i+1;j<texto[j];j++) { if(texto[i] == texto[j]) { repetidos++; } } } total = c - conta - repetidos; printf("\nNumero de letras retirando repetidos = %d", total); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...