Ir para conteúdo
Fórum Script Brasil
  • 0

Exercicios da Lista 2


viciado

Pergunta

O Beraldo já resolve o número 5. Fiz o número 6, por favor se tiver algum erro ou alguma critica construtiva comentem

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int contar(char str[30]);
int main()
{
  char str[30];
  printf("Digite uma string \n");
  fgets(str, 30, stdin);
  contar(str);
  system("PAUSE");    
  return 0;
}
int contar(char str[30]){
  int i;
  int count = 0;
  for(i=0;i<30;i++){
                    if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u'){
                              count++;
                              }
                              }
  printf("O numero de vogais e: %d \n",count);
}

Não consegui fazer o exercicio 7, alguma dica ?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

O protótipo de uma função não precisa ter o seu tamanho nem o nome do parâmetro. Logo, basta isto:

int contar(char *);
Se vocÊ está usando a biblioteca string.h, use a função strlen(). Ir até 29 não faz sentido, uma vez que a string fornecida pode ter somente 5 caracteres, por exemplo. Para um problema assim, switch fica melhor que IF. Ele tam,bém facilita a visualização. Lembre-se de adicionar as vogais maiúsculas, para o programa ficar correto Você definiu contar() como uma função que retorna int, mas não estava retornando nada. O ideal é retornar int e manter a exibição do texto na função main Você inclui stdlib.h, mas não usou nenhuma função dessa biblioteca, então nem precisa incluí-la
#include <stdio.h>
#include <string.h>

int contar(char *);

int main()
{
  char str[30];
  int vogais;
  
  printf("Digite uma string \n");
  fgets(str, 28, stdin);
  vogais = contar(str);
  
  printf("Há %d vogais na string %s\n", vogais, str);
     
  return 0;
}
int contar(char *str)
{
  int i, count = 0, size = strlen(str);
  
  for(i=0;i<size;i++)
  {
     switch (str[i])
     {
         case 'a':
         case 'A':
         case 'e':
         case 'E':
         case 'I':
         case 'i':
         case 'O':
         case 'o':
         case 'u':
         case 'U':
             count++;
             break;
     }     
  }
  return count;
}

Quanto ao exercício 7, você terá de separar cada um dos nomes. Percorra a string, caractere por caractere, e vá copiando-os para outra string. Ao achar um espaço, copie o próximo conteúdo para outra string. Usar um vetor de strings é uma boa saída.

Editado por Beraldo
Link para o comentário
Compartilhar em outros sites

  • 0

uma saída:

#include <stdio.h>
#include <string.h>


int main()
{
    char nome_completo[100], partes[10][50];
    int i, j = 0, nome = 0, size;
    
    printf("Digite seu nome completo: ");
    fgets(nome_completo, 98, stdin);
    
    size = strlen(nome_completo);
    
    for (i = 0; i < size; i++)
    {
        if (nome_completo[i] == ' ' || nome_completo[i] == '\n')
        {
            partes[nome][j] = '';
            j = 0;
            i++;
            nome++;
        }
        partes[nome][j] = nome_completo[i];
        j++;
    }
    
    for (i = 0; i < nome; i++)
    {
        printf("%s\n", partes[i]);
    }
    
    return 0;
}

A parte mais fácil fica com vocês.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...