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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problemas con programa c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas con programa c++  (Leído 1,295 veces)
xservice

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problemas con programa c++
« en: 16 Febrero 2014, 02:58 am »

Necesito un poco de ayuda tengo el siguiente programa que un AFD(Automata Finito Deterministico) que verifica si una cadena es valida.

Se introduce la información desde la terminal.pero necesito que la cargue la información desde un fichero, excepto la validacion de cadenas esas si tienen que ser introducidas desde la terminal.

Mi manejo de programas cargando información desde ficheros es nula, por eso necesito su ayuda, si alguien sabe como hacerlo se lo agradecería.

Código:
#include <cstdlib>
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;

int main(int argc, char *argv[])
{
    int n, na,ne,qi,nq,nqf,opc;
    string palabra;
   
    cout<<"Ingrese el numero de simbolos del Alfabeto: ";
    cin>>na;
   
    char alfabeto[na];
   
    for(int i=0;i<na;i++){
        cout<<"Ingrese el simbolo "<<i+1<<" : ";
        cin>>alfabeto[i];
    }
   
    cout<<"Ingrese el numero de estados: ";
    cin>>nq;
   
    cout<<"Ingrese el numero del estado inicial: ";
    cin>>qi;
   
    cout<<"Ingrese el numero de estados finales: ";
    cin>>nqf;
   
    int qf[nqf];
   
    for(int i=0;i<nqf;i++){
        cout<<"Ingrese el "<<i+1<<" estado final: ";
        cin>>qf[i];
    }
   
    int transiciones[nq][na];
   
    for(int i=0;i<nq;i++){
        for(int j=0;j<na;j++){
            cout<<"d(q"<<i<<","<<alfabeto[j]<<"):";
            cin>>transiciones[i][j];
        }
    }
    // Validacion de Cadenas
inicio:
    cout<<"Ingrese una cadena:\n";
    cin>>palabra;
   
    n = palabra.length();
    int ea = qi;
    bool band=true;
   
    for(int i=0;i<n;i++){
        for(int j=0;j<na;j++){
            if(palabra[i]==alfabeto[j]){
                cout<<"d(q"<<ea<<","<<palabra[i]<<")= ";
                ea = transiciones[ea][j];
                cout<<"q"<<ea<<endl;
                if (ea==-1){
                    cout<<"Palabra rechazada"<<endl;
                    goto inicio;
                }
            }
        }
    }
   
    for(int i=0;i<nqf;i++){
        if(ea==qf[i]){
            cout<<"Palabra aceptada.\n"<<endl;
            cout<<"1.Ingresar Otra Palabra\n2.Salir\n"<<endl;
            cin>>opc;
            if(opc==1){
                goto inicio;
            }
            else{
                goto fin;
            }
    }
            cout<<"Palabra rechazada\n"<<endl;
        cout<<"1.Ingresar Otra Palabra\n2.Salir\n"<<endl;
            cin>>opc;
        if(opc==1){
             goto inicio;
        }

        else{
            goto fin;
        }
   
        }
fin: return 0;
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con un programa......
Ingeniería Inversa
KJD 6 2,636 Último mensaje 26 Julio 2007, 18:30 pm
por KJD
problemas con Instalación de un programa
Dudas Generales
luisaranda 4 2,424 Último mensaje 24 Noviembre 2010, 11:02 am
por luisaranda
problemas con programa en c
Programación C/C++
EASV95 2 1,424 Último mensaje 20 Abril 2015, 21:34 pm
por EASV95
problemas con programa c
Programación C/C++
MAN_ 2 1,538 Último mensaje 21 Abril 2015, 23:55 pm
por MAN_
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines