plm Posted February 19, 2012 at 04:37 PM Report Share #440329 Posted February 19, 2012 at 04:37 PM Boa tarde, Será que alguém me consegue ajudar com a seguintes questões: 1.Escrever uma funçao que elimine espaços a mais existentes numa string 2. Escrever uma função que conte o número de palavras existentes numa string 3. Escrever uma função que transforme todas as letras iniciais de um nome em maiúsculas. Já tentei de tudo e não consigo resolver isto 😞 Link to comment Share on other sites More sharing options...
Cr4zYPT Posted February 19, 2012 at 05:23 PM Report Share #440340 Posted February 19, 2012 at 05:23 PM Ninguem aqui vai fazer o teu trabalho por ti. Posso dar sugestões. 1. Fazes ciclo for e vais copiando a str inicial para uma outra e se detectares mais que espaço seguido ignoras e não copias. 2. Para contar numero de palavras e contar o nº de espaços na string (nao repetidos) -1. Porque a primeira palavra nao esta delimitada por espaço. 3.Se analizares a tabela ASCII verificas que as minusculas e maisculas relacionam-se por 32. (int)a=(int)A + 32; //exemplo nao funciona em C++ Se ja fizes-te alguma coisa posta aqui para ver erros Link to comment Share on other sites More sharing options...
plm Posted February 19, 2012 at 06:21 PM Author Report Share #440341 Posted February 19, 2012 at 06:21 PM Em primeiro lugar eu pedi ajuda e não que alguém fizesse o meu trabalho!! Obrigado pela sugestão é disso mesmo que preciso para conseguir resolver os exercícios. sou iniciante em C++ e é possível que aquilo que fiz tenha alguns disparates mas preciso tentar para chegar lá... #include<stdio.h> #include<stdlib.h> #include<ctype.h> int elim_espacos(char s[]) { int i; char str1[50],str2[50]; for(i=-1;;i++); } int IniciasMaisc(char s[]) { int i=-1; while(s[++i]!=0)//não sei qual a condição que vai permitir colocar as inicias em maiusculas s[i]=toupper(s[i]); return i; } int ContaPalavras(char Frase[]) { int i=-1; while(Frase[++i]!=0);//não sei qual a condição que vai permitir contar as frases, so sei contar letras return i; } int main() { char s[50]; printf("Qual seu nome completo? "); gets(s); printf("O seu nome << %s >> tem %d palavras\n",elim_espacos(s),IniciasMaisc(s),ContaPalavras(s)); system("Pause"); } Link to comment Share on other sites More sharing options...
pmg Posted February 19, 2012 at 06:46 PM Report Share #440345 Posted February 19, 2012 at 06:46 PM Isto até parece outra linguagem ... What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 19, 2012 at 06:52 PM Report Share #440347 Posted February 19, 2012 at 06:52 PM não podes usar o std::string ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
plm Posted February 19, 2012 at 07:01 PM Author Report Share #440351 Posted February 19, 2012 at 07:01 PM posso Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 19, 2012 at 07:14 PM Report Share #440354 Posted February 19, 2012 at 07:14 PM não parece 😞 sempre ajuda no que toca a substrings ... 1.Escrever uma funçao que elimine espaços a mais existentes numa string - criar uma string auxiliar - crias um ciclo da primeira letra até à penúltima - se a letra for espaço e a seguinte também - salta a letra - caso contrário - adiciona à string auxiliar - retorna a string auxiliar 2. Escrever uma função que conte o número de palavras existentes numa string - crias uma variável contador com o valor 0 - crias uma variável auxiliar com o valor de 0 - enquanto a variável auxiliar for menor que o tamanho da string - procura na string pela primeira ocorrência de uma caracter espaço após a variável auxiliar - se o caracter foi encontrado - se o valor encontrado for maior que a variável auxiliar mais 1 // descartar espaços adjacentes - incrementa o contador de palavras - a variável auxiliar passa a ter o valor do caracter encontrado - caso contrário - se a variável auxiliar não for do tamanho da string menos 1 // descartar espaços no fim da string - incrementa o contador - retorna o contador 3. Escrever uma função que transforme todas as letras iniciais de um nome em maiúsculas. aplica um algoritmo semelhante ao anterior (procura de palavra) e ve o post do Cr4zYPT 3.Se analizares a tabela ASCII verificas que as minusculas e maisculas relacionam-se por 32. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
plm Posted February 19, 2012 at 08:16 PM Author Report Share #440362 Posted February 19, 2012 at 08:16 PM Obrigado pelas sugestões, vou tentar... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now