Páginas

NIMADRES

Concatenar Cadenas En C++

#include <iostream>

using namespace std;

void comparar(char[],char[]);
void length(char[],char[]);
void longitud(char[]);
void insertar(char[],char[],int&);
void combinar(char[],char[]);
void pow(char[],char[],int potencia);
void alfabeto(char[]);

int main()
{
    char cadenaA[20]="";
    char cadenaB[20]="";
    int largoA;
    int largoB;
    int potencia;
    
    insertar(cadenaA,cadenaB,potencia);
    //cout<<potencia;
    std::cout<<"La cadena A es: "<<cadenaA<<"\n";
    std::cout<<"La cadena B es: "<<cadenaB<<"\n";
    
    comparar(cadenaA,cadenaB);//compara si son iguales las dos cadenas
    length(cadenaA,cadenaB);//calcula la longitud total de las dos cadenas
    combinar(cadenaA,cadenaB); //tambien es esto
    
    std::cout<<"\nEl largo de la cadena A es: ";
    longitud(cadenaA);//longitud de A
    std::cout<<"\nEl largo de la cadena B es: ";
    longitud(cadenaB);//longitud de B
    pow(cadenaA,cadenaB,potencia);
    cout<<"\nEl alfabeto de la cadena A es: ";
    alfabeto(cadenaA);
    cout<<"El alfabeto de la cadena B es: ";
    alfabeto(cadenaB);
    //cout<<potencia;
    std::cin.get();
    std::cin.get();
    
    return 0;
}
        

void comparar(char strng1[],char strng2[])
{
    char strng3[40];   
    int k = 0;
    for(int i = 0;strng1[i] != 0;i++){
        strng3[k] = strng1[i];
        k++;
    }
    k=0;
    for(int i= 0;strng2[i] != '\0';i++){
        if(strng3[k] != strng2[i]){
            cout<<"\nLas cadenas A y B son diferentes";
            break; 
        }    
        else if(strng1[i+1] == 0)
            cout<<"\nLas cadenas A y B son iguales";
        k++;
    }
}
        
void length(char strng1[],char strng2[])
{
    int k;
    int i;
    for(i = 0; strng1[i] != 0;i++)
        for(k = 0;strng2[k] != 0;k++);
    cout<<"\nEl largo de la cadena completa es: "<<k+i;
    cout<<endl;
}
        
void longitud(char strng1[])
{
     int i;
     for( i = 0; strng1[i] != 0;i++);
     cout<<i;
}

void insertar(char strng1[],char strng2[],int &pow)
{
    std::cout<<"ingresa la primera cadena: ";
    std::cin.getline(strng1,20);
    std::cout<<"ingresa la segunda cadena: ";
    std::cin.getline(strng2,20);
    std::cout<<"ingresa la potencia: ";
    std::cin>>pow;
    cout<<endl;
}

void combinar(char strng1[],char strng2[]) //y todo esto   
{                        //espara concatenar dos cadenas
    char strng3[40];
    int i = 0;
    for( int e = 0; strng1[e] != 0 ;e++){
        strng3[i] = strng1[e];
        i++;
    }
    for(int k = 0; strng2[k] != 0;k++){
        strng3[i] = strng2[k];
        i++;
    }
    cout<<"\nLa cadena concatenada es: "<<strng3;
    cout<<endl;
}
void pow(char strng1[],char strng2[],int potencia)
{
    cout<<"\n\nLa potencia de la primera cadena es: ";
    for(int i = 0;i < potencia; ++i)
        cout<<strng1;
    cout<<std::endl;
    cout<<"La potencia de la segunda cadena es: ";
    for(int i = 0;i < potencia; ++i)
        cout<<strng2;
}

void alfabeto(char strng1[])
{ 
    cout<<"[";
    for(int i = 65; i <= 92; i++)
        for(int e = 0;strng1[e] != 0; e++){
            if((strng1[e] == i)||(strng1[e] == i+32))
                cout<<strng1[e]<<",";
        }
    cout<<"]\n";
}


No hay comentarios:

Publicar un comentario