Ir ao conteúdo

Posts recomendados

Postado

Olá, estou estudando programação em c++, então não sou muito boa, estou fazendo um exercício sem sucesso algum :( 

Esse é o exercício: Elabore um programa para ler uma sequência de 30 caracteres. Em seguida localize as vogais e as troque pelo símbolo @. Mostre a nova sequência. 

Eu vi em alguns lugares na internet alguns conteúdos relacionados/parecidos, mas ainda não consegui entender mt bem ou fazer ele rodar de fato. Comecei fazendo com o tamanho reduzido para testar ele e usando só uma vogal, porque caso funcione eu aumento para as demais. 

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

#define tam 5
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
   char x[tam];
    int i;

    for (i=0; i<tam; i++) {
        printf("Digite um caracter: ");
        scanf(" %c", &x[i]);
    }
    for (i=0; i<tam; i++){
        if (x[i]=='a'){
    x[i] == '@';
}
   printf("nova sequencia  %c \n", x[i]);
}

    return 0;
}

 

Postado
31 minutos atrás, sthearc disse:

Olá, estou estudando programação em c++, então não sou muito boa, estou fazendo um exercício sem sucesso algum :( 

Qual seria o curso ou material que você está utilizando para aprender?

 

32 minutos atrás, sthearc disse:

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

Eu vejo essa linha em vários algoritmos aqui no fórum e isso me deixou curioso para saber de onde vem.

 

Agora vamos ao seu código, ele está correto só que você colocou o simbolo de igual "==" aqui

35 minutos atrás, sthearc disse:

 x[i] == '@';

Ao invés do simbolo de atribuição "="

	x[i] = '@';

Com isso resolve o problema.

 

Uma melhoria para o seu programa seria colocar o caractere de controle %*c no scanf

	scanf("%c%*c", &x[i]);

Por hora e melhor usar o %*c do que um espaço, ele com o tempo deixa as coisa um pouco complicadas e mais para frente e melhor usar fgets para ler a entrada.

 

outra melhoria seria colocar um loop a mais para mostrar a modificação do vetor.

dessa maneira

	for (i=0; i<tam; i++){
        printf("nova sequencia  %c \n", x[i]);
    }

 

Código consertado.

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

#define tam 5
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
   char x[tam];
    int i;

    for (i=0; i<tam; i++) {
        printf("Digite um caracter: ");
        scanf(" %c", &x[i]);
    }
    
    for (i=0; i<tam; i++){
        if (x[i]=='a'){
            x[i] = '@';
        }
    }

    for (i=0; i<tam; i++){
        printf("nova sequencia  %c \n", x[i]);
    }
    return 0;
}

Agora e só adicionar as outras vogais.

 

É você não está escrevendo nada na linguagem C++ tudo isso que você fez e em C.

  • Curtir 1
Postado

@kgin funcionou aqui, obrigada!! kkkkkkkkkkkkkk é mesmo, ta em C, me desculpa kkkkkk. Em relação ao material e curso, eu to cursando redes e o material são as aulas mesmo, mas eu tinha me confundido nesse exercício, obrigada pela ajuda.

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

Isso já vem automaticamente no dev-c/c++.

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!