Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MellaSystems

#31
jejejje Gracias pero eso lo tenia hace un rato de esa manera que me lo planteas y me decia que era solo una vocal jajajajajja.

Pense que podia haber una manera de yo pasar el String y recorriega cada letra y me dijese si era una vocal true. jejeje es que necesito hacer esa funcion para hacerme la vida mas facil con las consonantes
#32
no puedo hacer que la funcion es vocal me devuelva falso o verdadero? debe devolverme un entero?
#33
Asi dices
Código (cpp) [Seleccionar]

bool esVocal(){
                  for(int i=0; CadCar[i]!='\0'; i++)
                  if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'
                      || CadCar[i] =='a' || CadCar[i] =='e' || CadCar[i] =='i' || CadCar[i] =='o' || CadCar[i] =='u')
                       return true;
                  }
                 
             int ImpCantVocales(){
                  int CanVoc=0;
                  if (esVocal()){
                     CanVoc++;
                     return CanVoc;}
                  }


eso fue lo que entendi jejejej
#34
Tengo este codigo  creado por mi mismo pero me da un error logico porque al ejecutarlo me dice que la cadena "UASD" solo tiene una vocal y es mentira.
Código (cpp) [Seleccionar]

#include <iostream>
#include <string>

class cCadena{
      private:
              std::string CadCar;
      public:
             void setCadCar(std::string pCadCar){CadCar=pCadCar;}
             std::string getCadCar(){
                  return CadCar;
                  }
                 
             void ImpHorizontal(){
                  std::cout<<CadCar<<std::endl;
                  }
                 
             void ImpVertical(){
                  for(int i=0;i<CadCar.length();i++)
                      std::cout<<CadCar[i]<<"\n";       
                  }
                 
             bool esVocal(){
                  for(int i=0; CadCar[i]!='\0'; i++){
                  if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'
                      || CadCar[i] =='a' || CadCar[i] =='e' || CadCar[i] =='i' || CadCar[i] =='o' || CadCar[i] =='u'){
                       return true;
                       }
                       else
                        return false;
                     }
                  }
                 
             void ImpCantVocales(){
                  int CanVoc=0;
                  if (esVocal())
                     {
                     CanVoc++;
                        }
               std::cout<<"\nLa cadena tiene "<< CanVoc <<" vocales"<< std::endl;
                  }
     
      };
     
main(){
       cCadena oCadena;
       oCadena.setCadCar("UASD");
       oCadena.ImpHorizontal();
       //oCadena.ImpVertical();
       oCadena.ImpCantVocales();
      // oCadena.ImpCantConsonantes();
       
       system("pause");
       }



me imprime que solo existe una vocal ayuda por favor!!!

y alguien es tan amable de explicarme este codigo?
Código (cpp) [Seleccionar]

void displayMaxCharacterWords(std::string& cadena )
{
  std::string palabra;
  string::iterator it = cadena.begin( );

  for( string::iterator it2 = it; it2 != cadena.end( ); ++it2 )
  {
    if ( *it2 == ' '  || *it2 == ',' || *it2 == '.' )
    {
      size_t length = std::distance( it, it2 );
      if ( length > palabra.size( ) )
        palabra = std::string(it, it2 );
      it = it2+1;
    }
  }

  std::cout << "\n\nLa palabra mas larga de la cadena es: "<< palabra << std::endl;
}
#35
Código
Código (cpp) [Seleccionar]
bool esVocal(char c){
                 bool tipo=false;
                 for(int i=0; CadCar[i]!='\0'; i++){
                 if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'){
                      tipo = true;
                      }
                    }
                    return tipo;
                 }

            void ImpCantVocales(){
                 int cont=0;
                 for(int i=0;CadCar[i]!='\0';i++){
                 if (esVocal(CadCar[i]))
                    {
                    cont++;
                       }
              }
              std::cout<<"\nLa cadena tiene "<< cont <<" vocales"<< std::endl;
                 }

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

Es decir que debo enviarle el string que estoy capturando que es CadCar?
Sería bool esVocal(string C){
C=CadCar;

........
}



Así sería entonces brother

Mod: usa etiqeutas GeSHi
#36
Lo que pasa es q sí introduzco un string ejemplo: una
Me imprime que hay 3 vocales
#37
 
Código (cpp) [Seleccionar]
bool esVocal(char c){
                 bool tipo=false;
                 for(int i=0; CadCar[i]!='\0'; i++){
                 if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'){
                      tipo = true;
                      }
                    }
                    return tipo;
                 }
                 
            void ImpCantVocales(){
                 int cont=0;
                 for(int i=0;CadCar[i]!='\0';i++){
                 if (esVocal(CadCar[i]))
                    {
                    cont++;
                       }
              }
              std::cout<<"\nLa cadena tiene "<< cont <<" vocales"<< std::endl;
                 }

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

cuando le ingreso un string me dice que todo lo que le pongo es vocal jejejejje Ayuda porfa

Mod: Mensaje modificado, al publicar código usa etiquetas GeSHi
#38
Muchas gracias a los dos por su aporte Myseryk y eferion muy buenos aportes
#39
Gente necesito una ayudita... Quiero hacer una funcion que reciba un string y que dentro del string busque la palabra mas larga y la imprima. Y quisiera saber como voltear un string alreves pero que se quede en la misma posicion con los metodos sort() y reverse().

tengo esto asi las pude voltear:

#include <iostream>
#include <string>
using namespace std;

void invertStringWords(string);
void countVocals(string);
void countConsonants(string);
void countSpecialCharacters(string);
void displayMaxCharacterWords(string);
void countWords(string);

int main() {
    string words;
    std::cout<<"Introduzca alguna frase: ";
    std::getline(std::cin,words);
   
    cout << endl << "Sentencia original: \t" << words << endl;
    reverse(words.begin(),words.end());
    invertStringWords(words);
   
   
    system("pause");
    return 0;
}

//Funcion que invierte el orden de las palabras en una cadena
void invertStringWords(string words) {
          //Arreglo con la longitud de los caracteres en la sentencia
          int arraylength = words.length();

          // índice para el caracter que está siendo leído
          int a=0;

          // String para almacenar la última palabra formada del arreglo
          string invert="";

          // Arreglo de caracteres con la cadena final de palabras invertidas
           char invertedWords[arraylength];

           // Ciclo que recorre la cadena original desde el final
           for(int i=arraylength-1; i >= -1; i--){
             // Si encontramos un espacio ya hemos terminado una palabra
             // invertir la palabra y agregarla al principio del arreglo invertido
             if(i==-1 || words == ' ') {
                         // Agregar la última palabra encontrada invertida en la sentencia
                         // al principio del arreglo de cadena invertida
                         for(int b=invert.length()-1; b >=0 ; b--) {
                                 invertedWords[a] = invert;
                                 a++;
                         }
                         // Agregar un espacio para delimitar palabra e incrementar el contador
                         // 'a' solo si no se ha llegado al final del arreglo.
                         if (i>-1)
                            invertedWords[a++] = ' ';
                         invert="";
             }
             else
             {
              // Tenemos un caracter, agregarlo a la cadena temporal
                         invert +=words;
             }
     }
             cout << endl << "Sentencia invertida: \t" << invertedWords << endl;
}
#40
Gracias me sirvió mucho