Ayuda ejercicio de inserccion
Publicado por Federico (11 intervenciones) el 12/01/2018 13:39:23
Tengo un problema con un ejercicio:
Dena una clase SecuenciaCaracteres para trabajar con una secuencia de caracteres (datos de tipo char) y proporcione:
constructor(es), metodos para obtener el caracter que hay en un indice determinado, obtener la longitud actual
de la secuencia, su capacidad maxima y a~nadir un caracter nuevo.
Implemente un metodo para sustituir todas las apariciones de un caracter y poner en su lugar una segunda secuencia
de caracteres. El metodo modica la secuencia original.
Por ejemplo, si la secuencia original contiene
a f g a r a b p f
El resultado de sustituir el caracter 'a' por la secuencia n e w seria
n e w f g n e w r n e w b p f
El resultado no me sale correcto sale como newar, ayuda porfavor
gracias
Dena una clase SecuenciaCaracteres para trabajar con una secuencia de caracteres (datos de tipo char) y proporcione:
constructor(es), metodos para obtener el caracter que hay en un indice determinado, obtener la longitud actual
de la secuencia, su capacidad maxima y a~nadir un caracter nuevo.
Implemente un metodo para sustituir todas las apariciones de un caracter y poner en su lugar una segunda secuencia
de caracteres. El metodo modica la secuencia original.
Por ejemplo, si la secuencia original contiene
a f g a r a b p f
El resultado de sustituir el caracter 'a' por la secuencia n e w seria
n e w f g n e w r n e w b p f
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
using namespace std;
class SecuenciaCaracteres{
private:
static const int TAMANIO = 1000;
char vector [TAMANIO];
int total_utilizados;
public:
SecuenciaCaracteres(){
total_utilizados = 0;
}
char Elemento (int indice){
return vector[indice];
}
int TotalUtilizados (){
return total_utilizados;
}
int Capacidad (){
return TAMANIO;
}
void Aniade (char elemento){
vector [total_utilizados] = elemento;
total_utilizados ++;
}
int NumeroCaracter (char caracter){
int contador =0;
for (int i=0; i<TotalUtilizados(); i++){
if (caracter == Elemento (i))
contador++;
}
return contador;
}
int Buscar (char caracter){
for (int i=0; i<TotalUtilizados(); i++){
if (caracter = Elemento (i))
return i;
}
}
void Insertar (int posicion,char caracter){
for (int i=TotalUtilizados(); i < posicion; i--){
Aniade (Elemento (i-1));
}
vector [posicion] = caracter;
total_utilizados++;
}
void Sustitucion (SecuenciaCaracteres secuencia, char caracter){
int numero_caracteres = NumeroCaracter (caracter);
int posicion;
for (int i=0; i<numero_caracteres; i++){
posicion = Buscar (caracter);
for (int i=0; i<secuencia.TotalUtilizados(); i++)
Insertar (posicion+i, secuencia.Elemento(i));
}
}
void Imprimir (){
for (int i=0; i< TotalUtilizados(); i++)
cout << Elemento(i);
cout << "\n";
}
};
int main (){
SecuenciaCaracteres secuencia1;
SecuenciaCaracteres secuencia2;
secuencia1.Aniade('a');
secuencia1.Aniade('f');
secuencia1.Aniade('g');
secuencia1.Aniade('a');
secuencia1.Aniade('r');
secuencia1.Imprimir();
secuencia2.Aniade('n');
secuencia2.Aniade('e');
secuencia2.Aniade('w');
secuencia2.Imprimir();
secuencia1.Sustitucion(secuencia2, 'a');
secuencia1.Imprimir();
}
El resultado no me sale correcto sale como newar, ayuda porfavor
gracias
Valora esta pregunta


0