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#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){
*aparbol
=(struct nodoarbol
*)malloc(sizeof(struct nodoarbol
)); if(*aparbol!=NULL){
(*aparbol)->dato=valor;
(*aparbol)->izq=NULL;
(*aparbol)->der=NULL;
}
else
printf("%d no insertado, no hay memoria sufuciente", valor
); }
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())
printf("%s es aceptable\n", palabra
); else
printf("%s no es aceptable\n", palabra
); }
return 0;
return EXIT_SUCCESS;
}