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
#include <cstdlib> #include <iostream> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> using namespace std; struct nodoarbol{ int dato; struct nodoarbol *izq; struct nodoarbol *der; }; void ingnodo(struct nodoarbol **aparbol, int valor){ if(*aparbol==NULL){ if(*aparbol!=NULL){ (*aparbol)->dato=valor; (*aparbol)->izq=NULL; (*aparbol)->der=NULL; } else } else if(valor < (*aparbol)->dato) ingnodo(&(*aparbol)->izq, valor); else if(valor > (*aparbol)->dato) ingnodo(&(*aparbol)->der, valor); } char palabra[20]; int len; int ingtab(char ch){ if( ch=='A' || ch=='B' || ch=='C' || ch=='D' || ch=='E' || ch=='F' || ch=='G' || ch=='H' || ch=='I' || ch=='J' || ch=='K' || ch=='L' || ch=='M' || ch=='N' || ch=='Ñ' || ch=='O' || ch=='P' || ch=='Q' || ch=='R' || ch=='S' || ch=='T' || ch=='U' || ch=='V' || ch=='W' || ch=='X' || ch=='Y' || ch=='Z' ) return 1; return 0; } int regsigno(){ int i; for(i=1; i<len; i++){ if(palabra[i]==palabra[i-1] && palabra[i]!='+' && palabra[i]!='+') return 0; } return 1; } int regletra(){ int i, v=0, c=0; for(i=0; i<len; i++){ if(ingtab(palabra[i])){ v++; c=0; } else{ c++; v=0; } if(v==2 || c==2) return 0; } return 1; } int main(int argc, char *argv[]) { while(1){ break; if(regsigno() && regletra()) else } return 0; return EXIT_SUCCESS; }