int main()
{
   LISTA lisA, lisB;
   int nEA, nEB, igualdad;
   
   nEA = nEB = 0;
   
   inicializaLista( &lisA );
   inicializaLista( &lisB );
   
   igualdad = capturaLista( &lisA, &lisB, &nEA, &nEB );
   
   escribeResultado( igualdad );
    
   system( "pause" );
}
Beispiel #2
0
int main() {
	int opcao;

	exibeIntroducao();
	inicializaLista();

	while (1) {
		exibeMenuPrincipal();
		scanf("%d", &opcao);

		switch (opcao) {
		case 0:
			return EXIT_SUCCESS;
			break;
		case 1:
			adicionarContato();
			break;
		case 2:
			retirarContato();
			break;
		case 3:
			obterContato();
			break;
		case 4:
			exibirContatosEmOrdem();
			break;
		case 5:
			printf("Contatos armazenados: %d", aLista.ultimo + 1);
			break;
		case 6:
			destroiLista();
			puts("Lista limpa.");
			break;
		default:
			puts("Opção inválida");
			break;
		}
	}
}
Beispiel #3
0
///Função Principal
int main()
{
    //declaração e inicialização de variaveis
    int nCursos; //quantidade de cursos
    int nCandidatos; //quantidade de candidatos
    int nMatch; //quantidade de escolhas no vetor match
    int nSelecionados[MAX_CURSOS][5]={0}; //quantidade de candidatos ja elecionados pra cada curso e grupo

    //vetores
    tCurso curso[MAX_CURSOS]; //vetor de cursos
    tCandidato candidato[MAX_CANDIDATOS]; //vetor de candidatos
    tMatch match[MAX_MATCH]; //vetor de classificação dos candidatos - GERAL

    //cor
    system("color 2F");

    /**INFORMACOES**/
    printf("PROJETO SISU\n\nInicializacao:\n\n");
    /**PROCESSO DE LEITURA DE DADOS DO ARQUIVO**/
    nCursos=lerCursos(curso);
    nCandidatos=lerCandidatos(candidato,curso);
    /**ORGANIZAÇÂO DE DADOS**/
    nMatch = inicializaLista(match,nSelecionados,candidato,nCandidatos,nCursos);
    ordenaLista(match,nMatch);
    /**MATCH**/
    fazMatch(match,nSelecionados,candidato,curso,nMatch);
    /**PAUSE E LIMPEZA DA TELA**/
    printf("\n\n");
    system("pause");
    system("cls");
    /**OUTPUT DOS RESULTADOS**/
    menuResultados(match, nMatch, candidato, nCandidatos, curso,nCursos);

    //encerra o programa
    return 0;
}
template<typename T> Lista<T>::Lista() {
    inicializaLista();
};
Beispiel #5
0
void carregarAutomatosJFLAP(ListaAutomatos **listaAutomatos)
{
    ListaAutomatos *lAux;
    lAux = *listaAutomatos;

    while(lAux!=NULL)
    {
        printf("\n\n Arquivo do automato : %s ",lAux->automato->XML_File_Name);



        int lendoEstados = 0;
            int estadoNum = 0;
            int estadoInicial= 0;
            int estadoFinal= 0;

        int lendoTransicoes = 0;
            int from = 0;
            int fromNum = 0;
            int to = 0;
            int toNum = 0;
            int read = 0;
            char readTerminal[40] = "\0";


        ListaEstados *listaEstados;


        inicializaLista(&listaEstados);


        char *fname = lAux->automato->XML_File_Name;
        //strcpy(fname,);

        char tag[MaxStr], contents[MaxStr], tagname[MaxStr], attrname[MaxStr], value[MaxStr];

        float x1, y1, z1, x2, y2, z2, t0, t1;
        int linum=0;
        FILE *infile=0, *outfile=0;

        infile = fopen(fname,"r");
        if (infile==0) {printf("Error: Cannot open input file '%s'.\n",fname); exit(1);}
        xml_parse( infile, tag, contents, MaxStr, &linum );
        while (tag[0]!='\0')
        {
            xml_grab_tag_name( tag, tagname, MaxStr );	/* Get tag name. */

            /* Add your application code here to accept tag-name, such as: */
            //printf("Tag name = '%s'\n", tagname );

            if(strcmp(tagname,"state")==0)
            {
                lendoEstados = 1;

                //printf("Tag name comparaao = '%s'\n", tagname );
            }

            if((lendoEstados==1)&&(strcmp(tagname,"initial")==0))
            {
                estadoInicial = 1;

                //printf("Tag name comparaao = '%s'\n", tagname );
            }

            if((lendoEstados==1)&&(strcmp(tagname,"final")==0))
            {
                estadoFinal = 1;

                //printf("Tag name comparaao = '%s'\n", tagname );
            }

            if((lendoEstados==1)&&(strcmp(tagname,"/state")==0))
            {
                Estado *novoEstado;
                inicializarEstado(&novoEstado,estadoNum,estadoFinal,estadoInicial);
                adicionarListaEstados(novoEstado,&listaEstados);

                //printf("\n Criou estado %d, estado inicial %d, estado final %d",novoEstado->estado,novoEstado->estadoInicial,novoEstado->estadoFinal);

                lendoEstados = 0;
                estadoNum = 0;
                estadoInicial = 0;
                estadoFinal = 0;


                //printf("Tag name comparaao = '%s'\n", tagname );
            }

            if(strcmp(tagname,"transition")==0)
            {
                lendoTransicoes = 1;

                //printf("Tag name comparaao = '%s'\n", tagname );
            }

            if((lendoTransicoes==1)&&(strcmp(tagname,"from")==0))
            {
                from = 1;
            }

            if((lendoTransicoes==1)&&(strcmp(tagname,"/from")==0))
            {
                from = 0;
            }

            if((lendoTransicoes==1)&&(strcmp(tagname,"to")==0))
            {
                to = 1;
            }

            if((lendoTransicoes==1)&&(strcmp(tagname,"/to")==0))
            {
                to = 0;
            }

            if((lendoTransicoes==1)&&(strcmp(tagname,"read")==0))
            {
                read = 1;
            }

            if((lendoTransicoes==1)&&(strcmp(tagname,"/read")==0))
            {
                read = 0;
            }

            if((lendoTransicoes==1)&&(strcmp(tagname,"/transition")==0))
            {
                lendoTransicoes = 0;

                Estado *estadoFrom = buscarEstadoPorNumero(listaEstados,fromNum);
                Estado *estadoTo = buscarEstadoPorNumero(listaEstados,toNum);

                if(readTerminal[0]=='"')
                {

                    //Cria uma transicao
                    Transicao* transicao = (Transicao *) malloc (sizeof(Transicao));
                    transicao->proximoEstado = estadoTo;

                    int i = 0;
                    char terminalSemAspas[40] = "\0";

                    for(i= 1;i<strlen(readTerminal)-1;i++)
                    {
                        terminalSemAspas[i-1] = readTerminal[i];
                    }

                    strcpy(transicao->terminal,terminalSemAspas);

                    ListaTransicao *listaTransicao = estadoFrom->listaTransicao;

                    adicionarListaTransicao(transicao,&listaTransicao);

                    estadoFrom->listaTransicao = listaTransicao;

                    //printf("\n Criou transicao from %d to %d com o terminal %s ",estadoFrom->estado,estadoTo->estado,transicao->terminal);

                }
                else
                {
                    ChamadaSubMaquina* chamadaSubMaquina = (ChamadaSubMaquina *) malloc (sizeof(ChamadaSubMaquina));
                    Automato *automatoAux = buscarAutomatoPorID(*listaAutomatos,readTerminal);
                    if(automatoAux!=NULL)
                    {
                        chamadaSubMaquina->proxAutomato = automatoAux;
                    }

                    chamadaSubMaquina ->estadoRetorno = estadoTo;

                    estadoFrom->chamadaSubMaquina = chamadaSubMaquina;

                    //printf("\n Criou chamada submaquina from %d para o automato %s com retorno em %d",estadoFrom->estado,automatoAux->ID,estadoTo->estado);

                    //Cria uma chamada de submaquina

                }

                char readTerminal[40] = "\0";


                //printf("Tag name comparaao = '%s'\n", tagname );
            }

            xml_grab_attrib( tag, attrname, value, MaxStr );	/* Get any attributes within tag. */
            while (value[0] != '\0')
            {
                /* Add application code here to accept attribute attrname and value, such as: */
                //printf(" Attribute: %s = '%s'\n", attrname, value );

               if((lendoEstados==1) && (strcmp(attrname,"id")==0))
               {
                    estadoNum = atoi(value);
               }

                xml_grab_attrib( tag, attrname, value, MaxStr );	 /* Get next attribute, if any. */
            }

            /* Add application code here to accept contents between tags, such as: */
            //printf("\n Contents = '%s'\n", contents );

            if(from == 1)
            {
                fromNum = atoi(contents);
            }

            if(to == 1)
            {
                toNum = atoi(contents);
            }

            if(read==1)
            {
                strcpy(readTerminal,contents);

            }

            xml_parse( infile, tag, contents, MaxStr, &linum );


        }
        fclose(infile);

        Automato *automatoAux = buscarAutomatoPorID(*listaAutomatos,lAux->automato->ID);
        automatoAux->listaEstados = listaEstados;

        lAux = lAux->prox;
    }

}
void criaTabelaPalavrasReservadas(noLista *palavraReservada) {
    
    inicializaLista(palavraReservada);
    
}
Beispiel #7
0
void inicializa_gerencia(void) {
    inicioBlocos = inicializaLista(MAX_MEM);
    inicioBlocos->endereco = MEM;
}
Beispiel #8
0
int main(int argc, char *argv[]){
	
	FILE *arquivo1, *arquivo2;
	Parvore arvore;
	PLista lista, lista2, lista3, p, z, y;

	char carac_text, carac_dicio;
	char word[2000000];
	char word_text[2000000];
	char other_word[2000000];
	int i = 0, tam = 0, j = 0, lines = 1, k;

	inicializaArvore(&arvore);
	inicializaLista(&lista);
	inicializaLista(&lista2);
	inicializaLista(&lista3);

	arquivo1 = fopen(argv[1], "r");
	arquivo2 = fopen(argv[2], "r");


	//PEGANDO TODAS AS PALAVRAS DO DICIONARIO E INSERINDO NA ARVORE TRIE
	while((carac_dicio = fgetc(arquivo1)) != EOF){

		if(carac_dicio != '\n'){
			word[i] = carac_dicio;
			i++;
		}
		else{
			word[i] = '\0';
			i = 0;
			inserir_palavra(&arvore, strlen(word), word);
		}
	}


	//LENDO E TRATANDO TODOS OS CARACTERES DO ARQUIVO2
	while((carac_text = fgetc(arquivo2)) != EOF)
		tam++;

	//criando string com todo o conteudo do texto
	char string[tam];
	rewind(arquivo2);
	i = 0;
	while((carac_text = fgetc(arquivo2)) != EOF){
		string[i] = carac_text;
		i++;
	}
	string[i] = '\0'; //o texto todo esta nessa string
	i = 0;

	for(j = 0; j < tam; j++){

		if((seekChar(separadores,string[j])) && (i == 0)){
			//j++;
			continue;
		}
		if(seekChar(separadores, string[j])){

			word_text[i] = '\0';
			strcpy(other_word,word_text);
			i = 0;

			for(k = 0; k < strlen(word_text); k++)
				word_text[k] = tolower(word_text[k]);

			if(buscar_palavra(arvore, word_text) == 1){
				inserir_crescente(&lista, word_text);
			}
			else{
				inserir_final(&lista2, other_word);
			}
		}
		else{
			word_text[i] = string[j];
			i++;
		}
	}

	i = 0;
	for(p = lista; (p != NULL); p = p->prox){
		int aux = 1;
		int number;

		printf("%s", p->palavra);
		for(j = 0; j < tam; j++){

			if(seekChar(separadores, string[j])){
				word_text[i] = '\0';
				i = 0;

				for(k = 0; k < strlen(word_text); k++)
					word_text[k] = tolower(word_text[k]);

				if((strcmp(word_text,p->palavra)) == 0){

					if (lines != number){
						if(aux == 1){
								printf(" %d", lines);
								number = lines;

						}
						else{
								printf(", %d", lines);
								number = lines;

						}
					aux = 0;
					}
				}

				if(string[j] == '\n'){
					lines++;
					number = lines-1;
				}

			}
			else{
				word_text[i] = string[j];
				i++;
			}
		}
		printf("\n");
		lines = 1;
	}
	//imprimir(lista2);
	for(z = lista2; (z != NULL); z = z->prox){
		printf("%s ", z->palavra);
		//for(y = lista3; (y != NULL); y = y->prox){
			buscarMenor(arvore, z->palavra);
			printf("%s\n", menorpalavra);
			menorpalavra[0] = '\0';
			menor = 100;

	}
}