elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  (ayuda urgente) problema de tablas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (ayuda urgente) problema de tablas  (Leído 5,239 veces)
original91

Desconectado Desconectado

Mensajes: 8


Ver Perfil
(ayuda urgente) problema de tablas
« en: 10 Mayo 2010, 17:16 pm »

Hola buenas, necesito ayuda para resolver un problema que tengo que hacer con C++.
Haber si alguien me puede ayudar :)


Diseñar un algoritmo que, dada una sequencia de caracteres
terminada en punto, escriba la palabra mas "consonantica ", 'es decir, la
que tenga el porcentaje mas alto de consonantes respecto del total de
letras de la palabra
Ejemplo: LOS GUSANOS DE TIERRA.
El% de consonantes sería respectivamente: 66%, 75%, 50% y 60%.
Respuesta: GUSANOS


En línea

nicolasblues86

Desconectado Desconectado

Mensajes: 38



Ver Perfil
Re: (ayuda urgente) problema de tablas
« Respuesta #1 en: 10 Mayo 2010, 17:38 pm »

primero deberias poner dicha cadena en una array obviamente una vez que tenes el array lo recorres. contas la cantidad de palabras que hay y mientras haces eso contas todas aquellas letras que no sean vocales
ojo! en conteo de cosonantes tiene que ser hasta que encuentre un espacio asi diferencias una palabra de otra... bueno mas o menos a grandes rasgos se haria asi
espero que te sirva           


En línea

Solamente hay 10 clases de personas en el mundo los que saben leer binario y los que no
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: (ayuda urgente) problema de tablas
« Respuesta #2 en: 10 Mayo 2010, 17:43 pm »

Postea el código que lleves hecho, no creo que nadie te vaya a hacer los deberes XD
En línea

original91

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: (ayuda urgente) problema de tablas
« Respuesta #3 en: 12 Mayo 2010, 00:44 am »

de momento tengo esto:

#include <iostream>
using namespace std;

typedef int TParaulaActual [MAX];
            TParaulaMax [MAX];

void main ()
{
   TParaulaActual paraulaActual;
    TParaulaMax  paraulaMax;
   int index, numFinal, numConsonants;
   double percentatge, percentatgeMax;

   index=0;
   numFinal=0;
   numConsonants=0;
   percentatge=0.0;
   percentatgeMax=0.0;

   cout<<"Entra la seqüència"<<endl;
   cin>>paraulaActual[index];

   while (paraulaActual[index]!='.')
   {
      
       while (paraulaActual[index]!=' ')
       {
          if (((paraulaAct[index]:=’a’)||(paraulaAct[index]:=’e’)||(paraulaAct[index]:=’i’)||(paraulaAct[index]:=’o’)||(paraulaAct[index]:=’u’)||(paraulaAct[index]:=’A’)||(paraulaAct[index]:=’E’)||(paraulaAct[index]:=’I’)||(paraulaAct[index]:=’O’)||(paraulaAct[index]:=’U’))
          {
             numConsonants=numConsonants+1;
          }
          index=index+1;
          cin>>paraulaActual[index];
       }
       numFinal=index-1;
       percentatge=(double)numConsonants*100.0/(double)numFinal;

       if (percentatge>percentatgeMax)
       {
          for (index=0<numFinal)
          {
             paraulaMax[index]=paraulaActual[index];
          }
          percentatgeMax=percentatge;
       }
          index=0;
          numFinal=0;
          numConsonants=0;
          percentatge=0.0;
        cin>>paraulaActual[index];
   }
   cout<<"La paraula mes consonantica es:"

      for(index=0<numFinal
      {
         cout<<paraulaMax[index]<<endl;
      }
      cout<<"amb un";
      cout<<percentatgeMax;
      cout<<"de consonants";
}
En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: (ayuda urgente) problema de tablas
« Respuesta #4 en: 12 Mayo 2010, 01:40 am »

Weno no lo ley todo pero por encima... te vi un par de errores... a pesar de que el algoritmo esta mal planteado...

El typedef deberia ser con char[] no con int[]  :xD...
hay un par de cin que sobran...

Te recomiendo usar la clase string, ya que estas trabajando con C++... Hazle caso a nicolasblues86, y que guardes la posicion final y de incio de la palabra que estas recorriendo y que despues del ' ' guardes la posicion de la palabra que sigue... luego empiezas a contar las consonantes de dicha palabra y si son mas que las consonantes de la palabra con mas consonantes (de las ya recorridas) guardas la posicion de inicio de dicha palabra y tambien la posicion final... Y pes luego la muestras... Creo es mas o menos lo q hiciste pero no lo plateaste bien... Te lo recuerdo porq lo del porcentaje me parece que sobra...

Saludos
En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



nicolasblues86

Desconectado Desconectado

Mensajes: 38



Ver Perfil
Re: (ayuda urgente) problema de tablas
« Respuesta #5 en: 12 Mayo 2010, 02:08 am »

bueno mirando lo a grandes rasgos hay varios errores, por ejemplo todos los for estan mal declarados recorda que la sintaxis del bucle for es : primero la inicializacion de la variable a usar; condicion de corte; y por ultimo como queres que aumente la variable, ejemplo:

Código:

 for (index=0<numFinal) //vos pusistes esto

for (index=0; index<numFinal; index++) //pero seria así




tambien noto que usas muchos "if" a la  hora de detectar las vocales podrias simplificar todo usando switch.



Código:
witch (paraulaActual[index])
          {
          case 'a' : case 'A' :;         
          case 'e' : case 'E' :; //etc....
                                        : index++;             
       
          } 


por el momento nada mas que pueda ver despues lo pruebo y me fijo si te puedo ayudar más

saludos!!!

En línea

Solamente hay 10 clases de personas en el mundo los que saben leer binario y los que no
original91

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: (ayuda urgente) problema de tablas
« Respuesta #6 en: 12 Mayo 2010, 17:02 pm »

Quedaría así pero hay más errores. Se os ocude alguno más??

#include <iostream>
using namespace std;

#define MAX 30
typedef char TParaulaActual [MAX];
typedef char TParaulaMax [MAX];

void main ()
{
   TParaulaActual paraulaActual;
    TParaulaMax  paraulaMax;
   int index, numFinal, numConsonants,MAX;
   double percentatge, percentatgeMax;

   index=0;
   numFinal=0;
   numConsonants=0;
   percentatge=0.0;
   percentatgeMax=0.0;

   cout<<"Entra la seqüència"<<endl;
   cin>>paraulaActual[index];

   while (paraulaActual[index]!='.')
   {
      
       while (paraulaActual[index]!=' ')
       {
          if ((paraulaActual[index]='a')||(paraulaActual[index]='e')||(paraulaActual[index]='i')||(paraulaActual[index]='o')||(paraulaActual[index]='u'))
          {
             numConsonants=numConsonants+1;
          }
          index=index+1;
          cin>>paraulaActual[index];
       }
       numFinal=index-1;
       percentatge=(double)numConsonants*100.0/(double)numFinal;

       if (percentatge>percentatgeMax)
       {
          for (index=0; index<numFinal; index++)
          {
             paraulaMax[index]=paraulaActual[index];
          }
          percentatgeMax=percentatge;
       }
          index=0;
          numFinal=0;
          numConsonants=0;
          percentatge=0.0;
        cin>>paraulaActual[index];
   }
   cout<<"La paraula mes consonantica es:";

      for(index=0; index<numFinal; index++)
      {
         cout<<paraulaMax[index]<<endl;
      }
      cout<<"amb un percentatge";
      cout<<percentatgeMax;
      cout<<"de consonants";
}




MUCHAS GRACIAS
En línea

nicolasblues86

Desconectado Desconectado

Mensajes: 38



Ver Perfil
Re: (ayuda urgente) problema de tablas
« Respuesta #7 en: 12 Mayo 2010, 20:02 pm »

buneo primero que nada dos cosas

primero: cunado haces esto "cin>>paraulaActual[index];" si no me equivoco queres poner lo que el usuario escrive en esa variable pero haciendole de esta manera solo incertas el primer caracter, es decir si ingresas "hola" solo se copiaria "h" en el primer elemento del array.
deberias poner "cin>>paraulaActual" y ahi saldria andando

segundo: Estas callendo en un bucle Infinito ya que en un momento inicialisas index a cero dentro del mismo While por lo tanto jamas va a llegar al elemento cuyo valor es  '.' en consecuencia nunca se cumple la condicion de corte y no termina

el ultimo for no es nesesario podes suplantar por  cout<<paraulaMax<<endl

saludos..




    
« Última modificación: 12 Mayo 2010, 20:07 pm por nicolasblues86 » En línea

Solamente hay 10 clases de personas en el mundo los que saben leer binario y los que no
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: (ayuda urgente) problema de tablas
« Respuesta #8 en: 12 Mayo 2010, 23:36 pm »

Te corrijo algunas cosas

Quedaría así pero hay más errores. Se os ocude alguno más??

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. #define MAX 30
  5. typedef char TParaulaActual [MAX];
  6. typedef char TParaulaMax [MAX];
  7.  
  8. void main ()
  9. {
  10. TParaulaActual paraulaActual;
  11.        TParaulaMax  paraulaMax;
  12. int index, numFinal, numConsonants,MAX; // Aqui MAX sobra
  13. double percentatge, percentatgeMax;
  14.  
  15. index=0;
  16. numFinal=0;
  17. numConsonants=0;
  18. percentatge=0.0;
  19. percentatgeMax=0.0;
  20.  
  21. cout<<"Entra la seqüència"<<endl;
  22. cin>>paraulaActual[index]; // Aqui sobra el "[index]"
  23.  
  24. while (paraulaActual[index]!='.')
  25. {
  26.  
  27. while (paraulaActual[index]!=' ')
  28. {
  29. if ((paraulaActual[index]=='a')||(paraulaActual[index]=='e')||(paraulaActual[index]=='i')||(paraulaActual[index]=='o')||(paraulaActual[index]=='u')) // Estas son comparaciones, por tanto deben ser == no =
  30. {
  31. numConsonants=numConsonants+1;
  32. }
  33. index=index+1;
  34. cin>>paraulaActual[index]; // Aqui sobra toda la linea
  35. }
  36. numFinal=index-1;
  37. percentatge=(double)numConsonants*100.0/(double)numFinal; // numFinal lo tenias inicializado a 0 y sabes lo que pasa cuando divides entre 0  :P
  38.  
  39. if (percentatge>percentatgeMax)
  40. {
  41. for (index=0; index<numFinal; index++)
  42. {
  43. paraulaMax[index]=paraulaActual[index];
  44. }
  45. percentatgeMax=percentatge;
  46. }
  47.          index=0; // Si vuelves a poner a index a 0 nunca termina
  48.          numFinal=0;
  49.          numConsonants=0;
  50.          percentatge=0.0;
  51.  cin>>paraulaActual[index];
  52. }
  53. cout<<"La paraula mes consonantica es:";
  54.  
  55. for(index=0; index<numFinal; index++) // Todo el for lo puedes sustituir por un cout<<paraulaMax;
  56. {
  57. cout<<paraulaMax[index]<<endl;
  58. }
  59. cout<<"amb un percentatge";
  60. cout<<percentatgeMax;
  61. cout<<"de consonants";
  62. }
  63.  
  64.  


MUCHAS GRACIAS

No me he fijado muy bien asique no se si quedaran mas errores

PD: usa GeSHi para  postear el code
« Última modificación: 12 Mayo 2010, 23:46 pm por satu » En línea

Breakbeat como forma de vida
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con un javascript y tablas
Desarrollo Web
Chazy Chaz 0 2,028 Último mensaje 30 Mayo 2012, 04:14 am
por Chazy Chaz
| Ayuda | - | Problema Con Tablas En iReport |
Java
JADP 1 2,558 Último mensaje 31 Marzo 2015, 01:07 am
por Valkyr
[AYUDA] Crear tablas con informacion PYTHON URGENTE!
Scripting
gramsch 1 2,037 Último mensaje 10 Agosto 2015, 23:21 pm
por tincopasan
Ayuda urgente con relación de tablas en MySQL
Dudas Generales
itzg3 0 1,565 Último mensaje 15 Julio 2018, 00:24 am
por itzg3
Ayuda urgente con problema en python
Scripting
Josueosor 7 3,546 Último mensaje 29 Enero 2021, 01:33 am
por tincopasan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines