Sunteți pe pagina 1din 10

#pragma hdrstop

#include "UCadena.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

CCadena::CCadena()

{ n=0;}

void CCadena::SetN(int valor)

{ if (valor<max)

{ n=valor; }

else

{ ShowMessage("Dimensin errnea");}

int CCadena::GetN()

{ return n;}

void CCadena::SetCasilla(int pos, char valor)

{ if( pos<n)

{ Cadena[pos]=valor;}

else

{ ShowMessage("Posicin errnea");}

char CCadena::GetCasilla(int pos)

{ if( pos<n)

{ return Cadena[pos];}

else
{ ShowMessage("Posicin errnea");}

void CCadena::SetTexto(UnicodeString valor)

{ n=valor.Length();

for(int i=0;i<n;i++)

{ Cadena[i]=valor[i+1];}

UnicodeString CCadena::GetTexto()

{ UnicodeString s="";

for(int i=0;i<n;i++)

{ s=s+AnsiString(Cadena[i]);}

return s;

bool CCadena::EsMinuscula(int pos)

{ int aux=int(Cadena[pos]);

return (aux>=97 && aux<=122) || (aux>=-32 && aux<=-1);

bool CCadena::EsMayuscula(int pos)

{ int aux=int(Cadena[pos]);

return (aux>=65 && aux<=90) || (aux>=-64 && aux<=-33);

bool CCadena::EsVocal(int pos)

{ int aux=int(Cadena[pos]);

return(aux==65 || aux==69 || aux==73 || aux==79 || aux==85) || (aux==97 || aux==101


|| aux==105 || aux==111 || aux==117);
}

void CCadena::AMinuscula(int pos)

{ if(EsMayuscula(pos))

{ Cadena[pos]=char(int(Cadena[pos])+32);}

void CCadena::AMayuscula(int pos)

{ if(EsMinuscula(pos))

{ Cadena[pos]=char(int(Cadena[pos])-32);}

void CCadena::TodoMinuscula()

{ for(int i=0;i<n;i++)

{AMinuscula(i);}

void CCadena::TodoMayuscula()

{ for(int i=0;i<n;i++)

{AMayuscula(i);}

void CCadena::TipoInverso()

{ for(int i=0;i<n;i++)

{ if(EsMinuscula(i))

{ AMayuscula(i);}

else

{ AMinuscula(i);}

}
void CCadena::TipoOracion()

{ int i=0;

while(i<n && Cadena[i]==' ')

{i++;}

AMayuscula(i);

for(int j=i+1;j<n;j++)

{ AMinuscula(j);}

void CCadena::TipoTitulo()

{ int i=0;

while(i<n)

{ while(i<n && Cadena[i]==' ')

{i++;}

AMayuscula(i);

i++;

while(i<n && Cadena[i]!=' ')

{ AMinuscula(i);

i++;

int CCadena::ContarCaracter(char car)

{ int c=0;

for(int i=0;i<n;i++)

{ if(Cadena[i]==car)

{ c++;}
}

return c;

void CCadena::EliminarElem(int pos)

{ if (pos>=0 && pos<n) {

for (int i = pos; i < n-1; i++) {

Cadena[i]=Cadena[i+1];

n--;

else

{ShowMessage("posicion erronea"); }

void CCadena::EliminarIguales(char a)

{ for (int i = 0; i <n; i++) {

if (Cadena[i]==a) {

EliminarElem(i);

i--;

void CCadena::Dado2CaracterReemplazar(char a, char b)

{ for (int i = 0; i < n; i++)

{ if (Cadena[i]==a)

{ Cadena[i]=b;

}
}

void CCadena::DadaUnaLetraConvertirEnMayusculasSusIguales(char car)

for (int i=0; i<n; i++)

if (Cadena[i]==car)

AMayuscula(i);

void CCadena::Dado2CaracterIntercam(char a, char b)

{ for (int i = 0; i < n; i++) {

if(Cadena[i]==a)

Cadena[i]=b;

else

{if(Cadena[i]==b)

Cadena[i]=a;

void CCadena::ConvertirMayusLasVocalesYMinusLasConsonantes()

{ for (int i=0; i<n; i++)


{

if(Cadena[i]=='a'||Cadena[i]=='e' || Cadena[i]=='i' ||
Cadena[i]=='o'||Cadena[i]=='u' || Cadena[i]=='A'||Cadena[i]=='E' || Cadena[i]=='I' ||
Cadena[i]=='O' ||Cadena[i]=='U' )

{AMayuscula(i);}

else

{AMinuscula(i);}

int CCadena::Contar_Mayusculas()

{int c=0;

for (int i = 0; i < n; i++)

{if (EsMayuscula(i))

c++;

return c;

int CCadena::ContarLasVocales()

{ int aux=0;

for (int i = 0; i < n; i++)

{ if (EsVocal(i))

{ aux++;

return aux;

}
int CCadena::EsVocal()

{ for (int i = 0; i < n; i++)

{ if (EsVocal(i)) {

ShowMessage("VERDADERO");

else

{ShowMessage("FALSO");}

unsigned short CCadena::ContarPalabras()

{unsigned short i=0,aux=0;

while(i<n)

{while(i<n && Cadena[i]==' ')

{i++;

aux++;

while(i<n && Cadena[i]!=' ')

{i++;

return aux;

int CCadena::BuscarSubCadena(CCadena *Sub)

{ int i=0,j=0;

while(i<n && j<Sub->Dimension)

{ j=0;
while(Cadena[i]==Sub->Cadena[j] && j<Sub->Dimension)

{ i++;

j++;

if(j<Sub->Dimension)

{ i=i-j+1;}

if(i<n)

{ return i-j;}

else

{ return -1;}

char CCadena::Cararter_Mayor()

{ int mayor=-9999;

for (int i=0; i < n; i++) {

if (Cadena[i] > mayor) {

mayor=Cadena[i];

return mayor;

int CCadena::Posicion_caracter(char car)

for (int i = 0; i < n; i++) {

if (Cadena[i]==car) {
return i;

return -1;

S-ar putea să vă placă și