Ayuda cadena caracteres
Publicado por Juan (3 intervenciones) el 30/10/2017 23:51:14
Escribir un programa que codifique una secuencia de caracteres terminada en ENTER introducida desde teclado de forma que: si en la secuencia de entrada hay varios caracteres consecutivos que sean iguales, en la secuencia de salida codificada aparece ese carácter una sola vez, junto a un dígito que indica el número de ocurrencias del carácter. El dígito podrá ser un valor entre 2 y 9. Esto significa que si un carácter aparece una sola vez de forma consecutiva, el número 1 no se añade a la cadena de salida. Además, se supone que en la cadena de entrada un carácter podrá estar repetido entre 1 y 9 veces. Nunca más de 9 veces.
Ejemplo:
Secuencia de entrada: abbbccdeeeeff Secuencia de salida codificada: ab3c2de4f2
Notas para los alumnos VETERANOS:
(1) No se pueden usar arrays, cadenas (ni siquiera del tipo string) o registros. (2) No se pueden usar procedimientos y/o funciones, sólo lo visto hasta ahora.
Tengo algún error y no se como terminarlo.
Muchas gracias compañeros.
Ejemplo:
Secuencia de entrada: abbbccdeeeeff Secuencia de salida codificada: ab3c2de4f2
Notas para los alumnos VETERANOS:
(1) No se pueden usar arrays, cadenas (ni siquiera del tipo string) o registros. (2) No se pueden usar procedimientos y/o funciones, sólo lo visto hasta ahora.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;
char ch, ant=char(0);
int cont;
int main() {
cout << "Introduzca la frase: \n";
cin.get(ch) ;
while (ch != '/n' ){
if (ch == ant)
cont++;
else
cout << ant << endl;
}cin.get(ch);
cout << char(ch) << endl;
return 0;
}
Tengo algún error y no se como terminarlo.
Muchas gracias compañeros.
Valora esta pregunta
0