Problema C++

Boas,

Necessito de ajuda no sentido de poder concluir um pequeno trabalho.

O mesmo será:

criar em c++ um pequeno programa que leia conte e mostre no ecrã um determinado número de caractéres, diferentes de espaço, sejam letras ou digitos ou mesmo pontuação. Até ser colocado o caractér x.

Aparentemente será simples, mas não consigo iniciar...

Se alguém tiver ideias que possam ajudar-me nesse sentido.

Gracias
 
Boas,

De facto a dúvida em concreto é mesmo essa, ou seja, como inicio a contagem?

Coloco por exemplo a seguinte palavra "rochedo".

Como faço para contar cada caracter existente na palavra definida, e de seguida conforme indiquei tem de terminar se inserido o caracter X.

obg
 
tens dois modos, o mais simples é introduzir letra a letra e o outro é introduzires a palavra ou frase e fazer o tratamento analisando o array de caracteres...
 
Certo, estou a tentar faze-lo, lendo caracter a caracter, no entanto só a executo com o while antes de ler os caracteres? ou dentro do while? e para terminar a leitura caso apareça um x?

obg
 
Certo, estou a tentar faze-lo, lendo caracter a caracter, no entanto só a executo com o while antes de ler os caracteres? ou dentro do while? e para terminar a leitura caso apareça um x?

obg

podes usar um do...while com tudo dentro e terminar com a leitura de um 'x'.

atenção ao incremento do numero de caracteres...
 
pois, não estou a conseguir, não consigo definir a variável, estou a colocá-las como char, mas sem sucesso, coloco por exemplo:

#include <iostream>
using namespace std;
int main()
{
char e;
char s;
char p;
char a;
char c;
char o;

no entanto depois não tenho como indicar que cada número é um caracter. e somar os mesmos.


 
irra... estavas a pensar em colocar o código ASCII todo? isso assim não pode ser.


se pegares num array de inteiros com XX posições (inicializada a 0) em que o numero de posições fôr o numero possivel de caracteres diferentes que podem ser digitados (tipo, de A-Z, a-z, 0-9, etc)
basta incrementar cada posição conforme o numero de caracteres digitados.

suponhamos que incluis a tabela ASCII toda, fazes um array de 256 posições (0-255) e por cada vex que for digitado o caracter 'A' incrementas o array[A].

no final podes percorrer o array e em caso de uma posição com um inteiro diferente de 0 então dizes quais os caracteres digitados e contagem dos mesmos
 
Bom, nao me devo ter explicado muito bem, eu sou de facto muito leigo nestas andanças e não tenho o know how para poder assimilar ou perceber as coisas que me são ditas, seja de forma linear ou transparente. De facto a minha questão persiste e penso que será muito simples no entanto não me expliquei correctamente.

o programa a desenhar, deverá ler uma palavra , dessa palavra terá de ser lido no ecrã o seu número de caracteres...

é possível ajudar?

obg
 
Código:
size_t contador = 0;
string palavra;
while(cin >> palavra) {
	contador += palavra.size();
	if(palavra[palavra.size() - 1] == 'x') {
		contador--;
		break;
	}
	
}
cout << contador;
 
Back
Topo