A maior rede de estudos do Brasil

Atividade prática Linguagem de programação

Alguém fez esssa?  Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter uma função para identificar se um caractere é vogal ou não.

 

Por favor

Programação IUNINTER

2 resposta(s) - Contém resposta de Especialista

User badge image

RD Resoluções Verified user icon

Há mais de um mês

Conceitos: Entrade de dados, laços, comparações, vetores.


/* script para printar frase, printar as 5 primeiras vogais 

e printar as ultimas 5 vogais. Exercicio 25193947

*/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

char func_vec_vogal(char a);

int main(int argc, char const *argv[])

{

char frase[25], vogais[10] = "AaEeIiOoUu", vogal_1ida, cons_lida; 

char cons[] = "QqWwRrTtYyPpSsDdFfGgHhJjKkLlÇçZzXxCcVvBbNnMm";

int i, j = 0, k = 1;

printf("Digite uma frase com no minimo 10 letras e no maximo 20: ");

fgets(frase, 25, stdin);

for(i = 0; i < 25; i++){ //Verificação das vogai

for (j = 0; j < 10; j++)

{

if(frase[i] == vogais[j] && k < 6){

vogal_1ida = vogais[j];

printf("Vogal %d: %c\n", k, vogal_1ida);

k++;

}

}

}

k = 5;

for(i = 25; 0 <= i; i--){ //Verificação das vogai

for (j = 0; cons[j]; j++)

{

if(frase[i] == cons[j] && k > 0){

cons_lida = cons[j];

printf("Consoante %d: %c\n", k, cons_lida);

k--;

}

}

}

printf("Frase que você entrou: %s\n", frase);

return 0;

}    

Primeiro faça vetores de vogais e consoantes que servirão de base para a comparação. Fazer laços de varredura da frase tanto na sequencia normal e invertida.  Fazer um laço, aninhando, para fazer a interação das vogais e consoantes com a frase. Fazer uma comparação pontual entre o caractere e a vogal ou consoante. Para mostrar apenas os 5 primeiras vogais, uma das condições de comparação deve ser até 5 interações, mesma logica para a consoante, porem o laço de varredura da consoante deve ser invertido para garantir que as ultimas 5 consoantes deverão ser mostradas. Mostre a frase que o usuário digitou.   

Conceitos: Entrade de dados, laços, comparações, vetores.


/* script para printar frase, printar as 5 primeiras vogais 

e printar as ultimas 5 vogais. Exercicio 25193947

*/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

char func_vec_vogal(char a);

int main(int argc, char const *argv[])

{

char frase[25], vogais[10] = "AaEeIiOoUu", vogal_1ida, cons_lida; 

char cons[] = "QqWwRrTtYyPpSsDdFfGgHhJjKkLlÇçZzXxCcVvBbNnMm";

int i, j = 0, k = 1;

printf("Digite uma frase com no minimo 10 letras e no maximo 20: ");

fgets(frase, 25, stdin);

for(i = 0; i < 25; i++){ //Verificação das vogai

for (j = 0; j < 10; j++)

{

if(frase[i] == vogais[j] && k < 6){

vogal_1ida = vogais[j];

printf("Vogal %d: %c\n", k, vogal_1ida);

k++;

}

}

}

k = 5;

for(i = 25; 0 <= i; i--){ //Verificação das vogai

for (j = 0; cons[j]; j++)

{

if(frase[i] == cons[j] && k > 0){

cons_lida = cons[j];

printf("Consoante %d: %c\n", k, cons_lida);

k--;

}

}

}

printf("Frase que você entrou: %s\n", frase);

return 0;

}    

Primeiro faça vetores de vogais e consoantes que servirão de base para a comparação. Fazer laços de varredura da frase tanto na sequencia normal e invertida.  Fazer um laço, aninhando, para fazer a interação das vogais e consoantes com a frase. Fazer uma comparação pontual entre o caractere e a vogal ou consoante. Para mostrar apenas os 5 primeiras vogais, uma das condições de comparação deve ser até 5 interações, mesma logica para a consoante, porem o laço de varredura da consoante deve ser invertido para garantir que as ultimas 5 consoantes deverão ser mostradas. Mostre a frase que o usuário digitou.   

User badge image

Aline

Há mais de um mês

Essa caiu na minha atividade tbm, eu acertei ela entao ta aí: 

 

 

 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

 

int vogais_consoantes(char letra)

{

  if (letra == 'a' || letra == 'e' || //parte da funcao para achar as vogais

    letra == 'i' || letra == 'o' || letra == 'u' )

          {

            return 1;

             }

else if (letra == 'b' || letra == 'c' || letra == 'd' || letra == 'f' || letra == 'g' || letra == 'h' || letra == 'j' || letra == 'k' || letra == 'l' ||

        letra == 'm' || letra == 'n' || letra == 'p' || letra == 'q' || letra == 'r' || letra == 's' || letra == 't' || letra == 'v' || letra == 'w' ||  

                letra == 'x' || letra == 'y' || letra == 'z') // parte da funcao para achar as consoantes.

                 {

                   return 0;

                      }

}

int main ()

{

          char string[20], vogal[5], consoante[5];

           int tamanhostring, j = 0,i;

 

             printf("Informe uma string:");

              gets(string);

 

                printf("\n\n String: %s\n\n",string);

                tamanhostring= strlen(string); //copia o tamanho da string.

               

                 for (i = 0; (j < 5) && (i <= tamanhostring); i++)

               

                  {

                   if (vogais_consoantes(string[i]) == 1)

                   {

                    vogal[j] = string[i];

                    j++;

}

}

vogal[j]= '\0';

 

j = 0;

 

for ( i = tamanhostring;(j <= 5) && (i >= 0); i--)

{

        if (vogais_consoantes(string[i]) == 0)  

{

        consoante[j] = string[i];

         j++;

   }

}

consoante[j] = '\0';

 

    printf("\n\n Vogais no inicio da string %s: ",string);

     for (int i = 0; vogal[i] != NULL; i++)

      printf("%c ", vogal[i]);

 

     printf("\n\n Consoantes no final da string %s: ",string);

      for (int i = 1; consoante[i] != NULL; i++)

       printf("%c ", consoante[i]);

       printf("\n\n");

 

       system("PAUSE");

        return (0);

 

 

}

 

                

Essa pergunta já foi respondida por um dos nossos especialistas