Ir ao conteúdo
  • Cadastre-se

C++ Exercício de Vetores - Caracteres intermediários


Posts recomendados

Questão 12: Vetores - Caracteres intermediários

Faça um programa com um vetor de tamanho n que irá receber um conjunto de caracteres. O tamanho n deverá ser lido antes dos caracteres. O programa deve ler mais 2 caracteres que servirão como marcadores. O programa, então, deverá escrever os caracteres do conjunto que estão entre os dois caracteres digitados como marcadores.

Os marcadores não precisam estar em ordem, ou seja, o primeiro marcador não necessariamente precisa vir antes do segundo.

    Entrada:

1-Tamanho n do vetor.

2-Linha contendo os caracteres do vetor (separados entre si por espaço).

3-Linha contendo os dois caracteres delimitadores (separados entre si por espaço).

   Saídas:

1- Caracteres do vetor entre os delimitadores.

   Exemplo de entrada:

6

A B C D E F C F

   Exemplo de saída:

D E

 

enviei esse exercício e o site me deu nota 18.7 dizendo que A quantidade de dados escritos pelo programa é diferente da quantidade de dados esperados.Alguém pode me ajudar a fazer de uma outra forma ? Obrigado!

 

#include <iostream>
using namespace std;
int main () {
	int n,i;
	
	cin >> n;
	
	char vet[n],n1,n2;
	
	bool aux = false;
	
	for(i=0; i<n; i++){
		cin >> vet[i];
	}
	cin >> n1 >> n2;
	
	for(i=0; i<n; i++){
		if (vet[i] == n1){
			while (!aux and vet[i] != n2){
				cout << vet[i+1] << " ";
				i++;
				if (i == n-2){
					aux = true;
				}		
			}
		}
	}
return 0;
}

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Igor Emanoel Junqueira     para qual site  você enviou ?  foi para o uri online judge ?

mas enfim aqui seu código com algumas modificações  :

#include <iostream>
#include <fstream>
#include <ctype.h>
using namespace std;
int main () {
    int n,i,aux;
    char vet[1000];
    cin >> n;
    int n1,n2;
    vet[n];
    for(i=0; i<n; i++)
        cin >> vet[i];
    cin >> n1 >> n2;
    if( n1  > n2){
        aux = n1 ;
        n1  = n2 ;
        n2  = aux;
    }
    cout<<endl;
    for(i=n1-1; i<n2-1; i++){
        vet[i]=toupper(vet[i]);  
        cout << vet[i] << " ";
    }
    cout<<endl;
    return 0;
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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