-
Posts
40 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Talyson Maia postou
-
C É possível separar silabas em string?
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@Lucca Rodrigues Eu consegui fazer a questão graças a sua ajuda e um pequeno pseudocódigo. Mas teve algumas partes que eu não entendi, você poderia me ajudar? #include <stdio.h> int vogal(char ch) { const char vogal[] = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'}; for(int i = 0; i < 10; i++) if(ch == vogal[i]) return 1; return 0; } int main(){ char texto[50]; scanf("%[^\n]", texto); for(int a = 0; texto[a]; a++){ printf("%c", texto[a]); if(vogal(texto[a]) && !vogal(texto[a + 1]) && texto[a + 1] != ' ' && texto[a + 1]) printf("-"); } } 1° - Eu não entendi porquê o primeiro printf vem antes do if. Nessa atual posição dele não vai aparecer primeiro o nome e depois, em outra linha, os traços? 2° - Eu queria entender o porquê desse ''texto[a+1] no final do último if. -
C É possível separar silabas em string?
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@Lucca Rodrigues Essa parte envolve função, certo? Eu ainda não estudei função, seria a próxima aula da minha lista. Você fez um módulo só pra saber se é vogal, foi isso? Tentei fazer com as suas explicações, mas sem usar ''função'' já que não tenho conhecimento sobre o assunto. No entanto, não rodou #include <stdio.h> int main() { char palavra[100]; char vogal[] = {'a', 'e', 'i', 'o', 'u'}; scanf("%[^\n]", palavra); for (int i = 0; i < 5; i++) if (palavra == vogal[i]) { return 1; } else { return 0; } for (int i = 1; palavra[i]; i++) { if (vogal(palavra[i - 1]) && !vogal(palavra[i])) printf("-"); printf("%c", palavra[i]); } } -
Olá, boa noite. Eu estou aprendendo sobre manipulação de caracteres e strings. Eu vi uma questão no github mas não estou conseguindo responde-la. Tentei usar algumas ideias das questões anteriores que já até postei aqui (um for dentro de outro). A questão é o seguinte: Faça um programa que receba uma palavra e separe suas silabas levando em consideração o seguinte critério: se após uma vogal existir uma consoante, deve-se separar a sílaba. Entrada: Uma linha com um texto Saída: O mesmo texto com - entre as sílabas Exemplos: Entrada: Paralelepipedo Saída: Pa-ra-le-le-pi-pe-do Outro exemplo: Entrada: Eu sou o rei de Fup Saída: Eu sou o rei de Fu-p Estou tentando com esse código mas dá erro como se estivesse fora do vetor: #include <stdio.h> int main () { char palavra[100]; char vogal[] = {'a', 'e', 'i', 'o', 'u'}; while(scanf("%[^\n]", palavra) == 1) { for(int i = 0 ; palavra[i] ; i++) { if(palavra[i] == vogal[i] && palavra[i+1] != vogal[i]) { printf("-"); } printf("%c", palavra[i]); } } }
-
C Preciso que a saída seja somente vogais
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@arfneto Caramba, nunca ia pensar em usar switch. Obrigado irmão, eu entendi muito bem agora. Gratidão! -
C Excluir um numero (código feito, mas não compreendo algumas partes)
Talyson Maia postou um tópico em C/C#/C++
Olá, desde ontem eu estou tentando responder uma questão que tem no site do URI, mas não consegui fazer o código. Então, eu peguei um pseudocódigo que vi na internet, tentei traduzir e fiz a questão. No entanto, existem muitas informações na qual eu não entendi. questão: 1120 - Revisão de Contrato - URI Online Judge Resumindo a questão: Entrada 1. Uma linha que representa uma tecla quebrada (o digito que deve ser deletado do número). 2. Um numero; Saída: O número sem o digito digitado na primeira entrada Em caso de saída 000, deve sair somente um zero. Exemplos: Entrada 5 5000000 Saída 0 Entrada 5 5004000 saída 4000 O meu código: #include <stdio.h> #include <string.h> int main() { char a[10]; char b[1000]; scanf("%s%s", a, b); if (a[0] == '0' && b[0] == '0') return 0; int j = strlen(b); int k = 0; int l = 0; for (int i = 0; i < j; i++) { if (a[0] != b[i]) { if (b[i] != '0') k = 1; if (k == 1) { l = 1; printf("%c", b[i]); } } } if (l == 0) { printf("0"); printf("\n"); } } - Eu não entendi o porquê desse return 0 após o primeiro if; - Não entendi também essa parte: if (a[0] != b[i]) { if (b[i] != '0') k = 1; if (k == 1) { l = 1; printf("%c", b[i]); } } } if (l == 0) { printf("0"); printf("\n"); -
C questão sobre vetorer. ler o menor valor.
Talyson Maia respondeu ao tópico de Caio Fagundes21 em C/C#/C++
Uma dúvida nessa parte: Se o menor foi 5, o indice não deveria ser 4? Já que vetor começamos do zero [0], [1], [2],... -
C Preciso que a saída seja somente vogais
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@devair1010 Fiz a mudança mas continuou com sem sair algum resultado mudei assim: for (int i = 1; i <= number; i++) { scanf("%s", text); Mas continua sem saídas, exemplo: --- O que digitei --- 3↵ aebaibaobaub↵ baeoxuoiazzzzzzz↵ oxau↵ ---O que está saindo: --- ↵ ↵ ↵ --- O que deveria sair:--- ae↵ uoia↵ au -
C Preciso que a saída seja somente vogais
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@arfneto Eu peguei as dicas acima e fiz o seguinte para responder a questão: #include <stdio.h> int main() { char text[51]; int number = 0; scanf("%d", &number); for (int i = 1; i <= number; i++) { scanf("%s", & text[i]); int counter = 0, biggest = 0; for (int j = 0; text[j]; j++) { if (text[j] == 'a' || text[j] == 'e' || text[j] == 'i' || text[j] == 'o' || text[j] == 'u') { counter++; if (counter > biggest) { biggest = counter; } } else { counter = 0; } } counter = 0; for (int j = 0; text[j]; j++) { if (text[j] == 'a' || text[j] == 'e' || text[j] == 'i' || text[j] == 'o' || text[j] == 'u') { counter++; if (counter == biggest) { for (int k = j - biggest + 1; k <= j; k++) { printf("%c", text[k]); break; } } } else { counter = 0; } } printf("\n"); } } O código roda, aparece a quantidade de linhas que deveria sair a resposta, mas não aparece as vogais. Vou mostrar um exemplo: --- Input --- 2↵ abdeiuofaoi↵ xaeioux O que está saindo: ↵ ↵ O que deveria sair: eiuo↵ aeiou Não estou conseguindo pensar em algo para resolver essa questão do printf. Acredito que o erro deve estar associado alguma chave, algum bloco... -
C Preciso que a saída seja somente vogais
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@arfneto Irmão, muito obrigado pelas dicas e a paciência. Vou levar esses conhecimentos comigo e melhorar cada vez mais na arte da programação. Me desculpe por apresentar um código pobre e confuso. Novamente eu agradeço muito pelas dicas!!! -
C Preciso que a saída seja somente vogais
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@JorgeGus Bacana, vou associar isso as dicas que os amigos deram acima. Muito obrigado @Midori Olá, muito obrigado. Vou tentar traduzir seu código e fazer com a mesma lógica. Muitissimo obrigado -
C Preciso que a saída seja somente vogais
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@arfneto Estou tentando trabalhar com uma variavel nova e com um contador, mas não consigo sair do canto e dessa vez nem mesmo sai alguma letra (antes saia um a em todos os testes). #include <stdio.h> int main() { int size = 0; char frase[50]; char aux; scanf("%d", &size); const char vogal[] = "aeiou"; for (int i = 0; i < size; i++) { scanf("%s", &frase[i]); char cont = 0; for (int j = 0; vogal[j]; j++) { if(frase[i] == j) { cont++; } } } printf("%s", cont); } Me perdoe a insistência e os erros bobos, eu realmente não sei como prosseguir. Estou me esforçando relendo sobre strings e vou iniciar ponteiros para ver se consigo a solução. -
C Preciso que a saída seja somente vogais
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@arfneto Como eu organizaria isso? Eu estou sem ideia. A variavel word seria a frase da entrada, digitada pelo usuário e nessa frase eu encontraria as vogais. @Midori Eu ainda não estudei ponteiro, por isso não consegui compreender bem sua resposta. Eu não entendi como voce só selecionou vogais usando isso e ainda conseguiu mostrar o que mais se repete. -
C Preciso que a saída seja somente vogais
Talyson Maia respondeu ao tópico de Talyson Maia em C/C#/C++
@devair1010 como eu faço para converter essa variavel em char? para assim rodar as letras -
Olá, estou tentando fazer um código no qual as saídas são somente vogais e elas devem estar juntas. Entrada: 1° linha: a quantidade de casos de teste(1 a 50). Uma linha por caso de teste contendo uma frase de até 50 caracteres, apenas com minúscula. Saida: Para cada caso de teste retorne uma linha contendo o subtexto com a maior quantidade de vogais juntas. Se existir empate, retorne o que aparece primeiro no texto. Exemplos de saída e entrada: --- Input --- 1↵ aeb↵ --- O que está saindo: a --- O que era pra sair: ae O meu código até o momento: #include <stdio.h> int main() { int size; char word[50]; scanf("%d", & size); char vogal[] = { 'a', 'e', 'i', 'o', 'u' }; for (int i = 0; i < size; i++) { scanf("%s", & word[i]); if (i == 'a' || i == 'e' || i == 'i' || i == 'o' || i == 'u') { word[i] = vogal[i]; } } for (int i = 0; i < size; i++) { printf("%c", vogal[i]); } }
-
Seria legal você apresentar um código, pois a forma como você veio aqui só apresentando as questões meio que não vai aprender tanto. Mas vou deixar algumas dicas: 1) Faça um for para colocar as entradas dos vetores exp.: for(int i = 0 ; i < n ; i++) scanf("%d", &lista[i]); 2) faça um segundo for para colocar as saídas, dessa fez decrementando for(int i = 0; i < n ; i--) printf("%d", lista[i)
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