int main () { SecuenciaCaracteres cadena; int tope,i; char caracter; cin>>caracter; while(caracter!='#'){ cadena.Aniade(caracter); cin>>caracter; } tope=cadena.TotalUtilizados(); for (i = 0; i < tope; i++) cout << cadena.Elemento(i); cadena.EliminaRepetidos(); tope=cadena.TotalUtilizados(); for (i = 0; i < tope; i++) cout << cadena.Elemento(i); system("pause"); }
void Reemplaza(int inicio, int n_a_quitar, SecuenciaCaracteres a_insertar) { int diferencia_componentes, tamanio_a_insertar, lectura, escritura, siguiente; tamanio_a_insertar = a_insertar.TotalUtilizados(); if(tamanio_a_insertar + total_utilizados <= TAMANIO && n_a_quitar <= total_utilizados - inicio && inicio <= total_utilizados) { diferencia_componentes = tamanio_a_insertar - n_a_quitar; if(diferencia_componentes < 0) { siguiente = 1; lectura = inicio + n_a_quitar; escritura = inicio + tamanio_a_insertar; } else { siguiente = -1; lectura = total_utilizados - 1; escritura = total_utilizados - 1 + diferencia_componentes; } int numero_componentes_a_desplazar = total_utilizados - n_a_quitar - inicio; for(int i=0; i < numero_componentes_a_desplazar; i++) { vector_privado[escritura] = vector_privado[lectura]; lectura = lectura + siguiente; escritura = escritura + siguiente; } for(int i=0; i<tamanio_a_insertar; i++) { vector_privado[inicio+i] = a_insertar.Elemento(i); } } total_utilizados = total_utilizados + diferencia_componentes; }
int main(){ SecuenciaCaracteres frase; int tope; frase.Aniade('c'); frase.Aniade('b'); frase.Aniade('b'); frase.Aniade('a'); frase.Aniade('b'); frase.Aniade('c'); frase.Aniade('c'); frase.Aniade('a'); frase.Aniade('g'); frase.Aniade('c'); frase.Aniade('b'); frase.Aniade('g'); frase.Aniade('c'); tope = frase.TotalUtilizados(); for (int i = 0; i < tope; i++) cout << frase.Elemento(i) << " "; tope = frase.TotalUtilizados(); cout << "\n"; for (int i = 0; i < tope; i++) cout << frase.CountingSort().Elemento(i) << " "; tope=frase.CountingSort_Limites('b','g').TotalUtilizados(); cout << "\n"; for (int i = 0; i < tope; i++) cout << frase.CountingSort_Limites('b','g').Elemento(i) << " "; system ("pause"); }
int main(){ char caracter, letra_inicio, letra_final; int contador; SecuenciaCaracteres letras; cout << "\nintroduce una secuencia de caracteres (# para terminar): \n"; while(caracter != '#'){ caracter = cin.get(); cin.ignore(); if (caracter != '#'){ letras.Aniade(caracter); } } //imprimimos el vector original cout << "\n\nDatos del vector original" << "\n"; for(contador = 0; contador < letras.TotalUtilizados(); contador++){ cout << letras.Elemento(contador) << "\n"; } cout << "\n\nIntroduce la letra de inicio para imprimir el vector: "; cin >> letra_inicio; cout << "\n\nIntroduce la letra por la que finalizará el vector: "; cin >> letra_final; SecuenciaCaracteres resultado(letras.Ordena(letra_inicio, letra_final)); cout << "\n\nEl vector resultante es: "; for (int i = 0; i < resultado.TotalUtilizados(); i++ ){ cout << " " << resultado.Elemento(i); } cout << "\n\n"; }
int main() { SecuenciaCaracteres palabra; SecuenciaCaracteres para_insertar; palabra.AniadeCadena("abcdefgh"); para_insertar.AniadeCadena("jklmn"); int tope = palabra.TotalUtilizados(); for(int i=0; i<tope; i++) { cout << palabra.Elemento(i); } cout << endl; palabra.Reemplaza(1,3,para_insertar); tope = palabra.TotalUtilizados(); for(int i=0; i<tope; i++) { cout << palabra.Elemento(i); } cout << "\n\n"; }