Foros del Web » Programación para mayores de 30 ;) » C/C++ »

traspaso de condiciones

Estas en el tema de traspaso de condiciones en el foro de C/C++ en Foros del Web. buenas, espero que esten bien... ^^ hago este post por que tengo un problema al seguir realizando mi arbol... bueno el problema esta mas que ...
  #1 (permalink)  
Antiguo 05/07/2011, 20:11
Avatar de kmilomannra  
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 12 años, 11 meses
Puntos: 0
traspaso de condiciones

buenas, espero que esten bien... ^^
hago este post por que tengo un problema al seguir realizando mi arbol...
bueno el problema esta mas que claro (lo qe se intenta hacer), lo que me complica es el direccionamiento de los nodos para con las condiciones de las letras y el signo mas...
....
"por si no se entiende, hago un programa que se ingresen caracteres mayuscula, pero no consecutivamente, lo mismo con el signo + "
aqui el codigo ..
Código C++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <conio.h>
  6. #include <string.h>
  7.  
  8. using namespace std;
  9.  
  10. struct nodoarbol{
  11.        int dato;
  12.        struct nodoarbol *izq;
  13.        struct nodoarbol *der;
  14. };
  15.  
  16. void ingnodo(struct nodoarbol **aparbol, int valor){
  17.      if(*aparbol==NULL){
  18.                         *aparbol=(struct nodoarbol *)malloc(sizeof(struct nodoarbol));
  19.                         if(*aparbol!=NULL){
  20.                                           (*aparbol)->dato=valor;
  21.                                           (*aparbol)->izq=NULL;
  22.                                           (*aparbol)->der=NULL;
  23.                                           }
  24.                         else
  25.                             printf("%d no insertado, no hay memoria sufuciente", valor);                  
  26.                         }
  27.      else
  28.          if(valor < (*aparbol)->dato)
  29.                   ingnodo(&(*aparbol)->izq, valor);
  30.          else if(valor > (*aparbol)->dato)
  31.                   ingnodo(&(*aparbol)->der, valor);
  32. }
  33.  
  34. char palabra[20];
  35. int len;
  36. int ingtab(char ch){
  37.         if( ch=='A' || ch=='B' || ch=='C'
  38.         || ch=='D' || ch=='E' || ch=='F' || ch=='G' || ch=='H' || ch=='I'
  39.         || ch=='J' || ch=='K' || ch=='L' || ch=='M' || ch=='N' || ch=='Ñ'
  40.         || ch=='O' || ch=='P' || ch=='Q' || ch=='R' || ch=='S'
  41.         || ch=='T' || ch=='U' || ch=='V' || ch=='W' || ch=='X'
  42.         || ch=='Y' || ch=='Z' )
  43. return 1;
  44. return 0;
  45. }
  46.  
  47. int regsigno(){
  48.     int i;
  49.     for(i=1; i<len; i++){
  50.              if(palabra[i]==palabra[i-1] && palabra[i]!='+' && palabra[i]!='+')
  51.              return 0;
  52.              }
  53.     return 1;
  54. }
  55.  
  56. int regletra(){
  57.     int i, v=0, c=0;
  58.     for(i=0; i<len; i++){
  59.              if(ingtab(palabra[i])){
  60.                                     v++;
  61.                                     c=0;
  62.                                     }
  63.              else{
  64.                   c++;
  65.                   v=0;
  66.                   }
  67.     if(v==2 || c==2)
  68.     return 0;
  69.              }
  70.     return 1;
  71. }
  72.  
  73. int main(int argc, char *argv[])
  74. {
  75.     while(1){
  76.              scanf("%s", palabra);
  77.              if(strcmp(palabra, "fin")==0)
  78.              break;
  79.              len = strlen(palabra);
  80.              if(regsigno() && regletra())
  81.                            printf("%s es aceptable\n", palabra);
  82.              else
  83.                            printf("%s no es aceptable\n", palabra);
  84.              }
  85.     return 0;            
  86.     system("PAUSE");
  87.     return EXIT_SUCCESS;
  88. }

Etiquetas: c++, funcion, nodo, arboles, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:46.