Ir ao conteúdo

Posts recomendados

Postado

Boa tarde galera, desenvolvi o código pro seguinte exercício:

Citação

Faça um programa que leia uma frase de até 60 caracteres e imprima a frase sem os

espaços em branco. Imprimir também a quantidade de espaços em branco.

 

Eu executo e ele separa os espaços  e apresenta a frase tudo certo, mas não está contando o número de espaços poderiam me explicar o por que? Sei que o código esta certo só falta algo que não estou conseguindo descobrir pra corrigir este pequeno detalhe, agradeço desde já!

 

Segue o código

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char frase[60];
    int i;

    printf("\nDigite frase: ");
    gets(frase);


    int posicao = 0;
    for (i = 0; i < strlen(frase); i++, posicao++) {
        if (frase[posicao] == ' ') {
            posicao++;
        }
        frase[i] = frase[posicao];
    }
    printf("\n%s", frase);

    int contaespacos = 0;
    for (i=0; frase[i]!='\0'; i++)
        if ( frase[i]== ' ')
            contaespacos++;

    printf("\n Numero de espacos na frase: %d", contaespacos);


    return 0;
}

 

  • Amei 1
Postado
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char frase[60];
    int i;
    int contaespacos = 0;

    printf("\nDigite frase: ");
    gets(frase);
  
  for (i=0; frase[i]!='\0'; i++)
        if ( frase[i]== ' ')
            contaespacos++;

    int posicao = 0;
    for (i = 0; i < strlen(frase); i++, posicao++)
    {
        if (frase[posicao] == ' ')
        {
            posicao++;
        }
        frase[i] = frase[posicao];
    }
    printf("\n%s", frase);
    printf("\n Numero de espacos na frase: %d", contaespacos);
    return 0;
}

Funcionou? Agora que vi que tem que imprimir a string sem espaço, vou ver aqui e depois edito o código.

 

Já consegui e na verdade é só inverter os laços; o debaixo você coloca por primeiro.

  • Curtir 1
  • Obrigado 1
Postado

@imSkillz     no seu código quando ele encontra um espaço ele coloca o próximo caractere em cima desse espaço encontrado  .  eliminando os espaços da string .      e em seguida ele vai verificar os espaços que tem na string , que já foi modificada ,  e então não tem mais nenhum espaço nela e a variável contaespaços fica com valor zero mesmo  .

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!