Example #1
0
int main(int argc, char *argv[]){
  int i,a,b,tamanho;
  char linha[50];
  FILE *fp;

  fp = fopen(argv[1],"r");
  if (!fp) {
    printf("Erro ao abrir o arquivo %s.\n",argv[1]);
    return 0;
  }

  fgets(linha, 100, fp);

  tamanho = atoi(linha) +1 ;
  printf("%d\n", tamanho);
  ITEM lista[tamanho+1];
  
  // Inicialização da lista. 
  for(i=1; i<=tamanho; i++){
    printf("erro\n");
    lista[i].campo = 0;
    lista[i].prox = NULL;
  }

  //leitura dos vertices (a,b) - passagem para a função Inserir_Aresta.
  fscanf(fp,"%d %d", &a, &b);
  while (!feof(fp)) {
    printf("%d - %d\n", a, b);
    Inserir_Aresta(lista,a,b);
    Inserir_Aresta(lista,b,a);
    fscanf(fp,"%d%d", &a, &b);
  }

  Imprimir(lista, tamanho);
}
Example #2
0
Kits::Kits(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Kits)
{
    ui->setupUi(this);

    ui->tableKits->clear();
    ui->tableKits->setRowCount(0);
    ui->tableKits->setColumnCount(2);
    ui->tableKits->setHorizontalHeaderLabels(QStringList() << QObject::tr("Código") << QObject::tr("Descripción"));
    ui->tableKits->resizeColumnsToContents();
    ui->tableKits->resizeRowsToContents();
    ui->tableKits->sortByColumn(0);

    CargarLineas();

    ui->cbFiltro->addItem(QObject::tr("Todos"));
    ui->cbFiltro->addItem(QObject::tr("Descripción"));
    ui->cbFiltro->setCurrentIndex(0);
    ui->edtFiltro->setEnabled(false);

    connect(ui->edtFiltro,SIGNAL(textChanged(QString)),this,SLOT(Filtrar()));
    connect(ui->cbFiltro,SIGNAL(currentIndexChanged(QString)),this,SLOT(ActivarFiltro()));

    connect(ui->btnNuevo,SIGNAL(clicked()),this,SLOT(AbrirVentanaFichaNuevo()));
    connect(ui->btnModificar,SIGNAL(clicked()),this,SLOT(AbrirVentanaFichaMod()));
    connect(ui->btnSalir,SIGNAL(clicked()),this,SIGNAL(closeMDI()));
    connect(ui->tableKits,SIGNAL(doubleClicked(QModelIndex)),this,SLOT(AbrirVentanaFichaMod()));
    connect(ui->btnEliminar,SIGNAL(clicked()),this,SLOT(Eliminar()));
    connect(ui->btnImprimir,SIGNAL(clicked()),this,SLOT(Imprimir()));

    DeshabilitarControles();
}
int main()
{
    No *n1,*n2,*n3;

    n1 = (No*) malloc(sizeof(No));
    n2 = (No*) malloc(sizeof(No));
    n3 = (No*) malloc(sizeof(No));


    n1->conteudo = 3;
    n1->prox = n2;

    n2->conteudo = 4;
    n2->prox = n3;

    n3->conteudo = 5;
    n3->prox = NULL;

    Imprimir(n1);

    free(n1);
    free(n2);
    free(n3);

    return 0;
}
void HH(char MB[][N])//Função Para Posicionar os Barcos, HUMANO PREENCHE
{
    int X, Y, i;
    printf("\nPara cada Tabuleiro Existem 5 Navios\n");
    Imprimir(MB);
    for(i=0;i<5;i++)
        Leia(MB);
    printf("\n");
}
int main() {

	char string[20] = "Daniel";

	lista_string* lista;

	lista = Criar(CAP); //cria a lista 

	Inserir_fim(lista, string);
	Inserir_fim(lista, string);
	Inserir_fim(lista, string);

	Inserir_indice(lista, "joao", 1);

	Imprimir(lista);

	remover_posicao(lista, 0);
printf("\n");
	Imprimir(lista);

	remover_string(lista, "Daniel");
printf("\n");	
	Imprimir(lista);

	if (buscar_posicao(lista,0) == NULL)
	{
		printf("Erro master, a posição digitada não existe\n");
	}
	else
	{
		printf("String buscada %s\n", buscar_posicao(lista,0));
	}

	if (buscar_string(lista, "joao") == -10)
	{
		printf("A palavra digitada não existe na lista\n");
	}
	else
	{
		printf("A palavra digitada se encontra na posição: %i", buscar_string(lista,"joao"));
	}
	return(0);
}
Example #6
0
void main (){
     int i;
     celula *lst; //primeiro elemtento da lista - cabeça
     lst = malloc(sizeof(celula));
     lst->seg = NULL;
     
     for(i = 0; i < 3; i++) Inserir(i, lst);
     for(i = 0; i < 6; i++) Inserir(i, lst);
     
     Imprimir(lst);
     
     lst->seg = Inverter(lst);
     
     printf("\n\n");
     
     Imprimir(lst);
     
     system("pause");
     getch();

}
void Imprimir(char*pal,Nodo *n){
char pala;
	if(n->End){
	//printf("\n");
   cout<<" ";
	}
	for(int i=0;i<32;i++){
		if(n->array[i]!=NULL){
			pala=n->array[i]->Palabra[0];
			printf("%c",pala);
			Imprimir(pal,n->array[i]);
		}
	}
}
Example #8
0
int ReceberEntrada (ARVORE *arvore)
{
    char operacao;
    int chave;

    INFO info;

    while (scanf (" %c %d", &operacao, &chave) != EOF)
    {
        switch (operacao)
        {
        case 'I':
        case 'i':
            info.chave = chave;
            info.valor = chave;
            if (!Inserir (arvore, &info))
            {
                return 0;
            }
            Imprimir (arvore);
            break;

        case 'R':
        case 'r':
            info.chave = chave;
            info.valor = chave;
            Remover(arvore, &info);
            Imprimir (arvore);
            break;

        default:
            break;
        }
    }

    return 1;
}
Example #9
0
int main()
{
    Lista *lista = NULL;
    Lista *nuevo_nodo = malloc(sizeof(Lista));
    pedir_nodo(nuevo_nodo);
    lista=nuevo_nodo;
    imprimir_nodo(lista);
    nuevo_nodo = malloc(sizeof(Lista));
    pedir_nodo(nuevo_nodo);
    Agregar(lista,nuevo_nodo,1);
    imprimir_nodo(lista);
    nuevo_nodo = malloc(sizeof(Lista));
    pedir_nodo(nuevo_nodo);
    Agregar(lista,nuevo_nodo,1);
    Imprimir(lista,0);
    Imprimir(lista,1);
    Imprimir(lista,2);
    printf("%d",Contiene(lista,'a'));
    printf("\n nodo Eliminado:");
    Eliminar(lista,1);
    printf("%d",Contiene(lista,'w'));
    return 0;

}
Example #10
0
void main() {
	clrscr();
	char *cadena;
	void Imprimir(char *,char *, ...);
	double n=5,m=4,r,s,t;
	r = pow(n,m);
	s = sqrt (m);
	t = log(n) / log(2);
	/*
	.
	.   Otras instrucciones
	.
	.
	*/
	cadena = new char [100];
	Imprimir (cadena,"%s = %f\n%s = %f\n%s = %f\n",a[0],r,
				a[1],s,a[2],t);
	printf ("%s\n",cadena);
	delete cadena;
}
void Aloca(char MB[][N], int numpos, int pos, int aloc)
{
    int X, Y, k, i, j;
    printf("\n\nInforme as Posicoes da Linha e Coluna onde o Navio Iniciara (L, C): ");
    scanf("%d %d", &X, &Y);
    i = X-1;
    j = Y-1;
    if(numpos==1)
    {
        if(MB[i][j]=='~' && i>=0 && i<N && j>=0 && j<N)
            MB[i][j]='B';
        else
        {
            printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
            Leia(MB);
        }
    }
    else if(pos==1)//ALOCAÇÃO VERTICAL
    {
        if(aloc==1)//De Baixo para Cima, SENÃO PEDE PRA LER OUTRA VEZ
        {
            if(numpos==3)
            {
                if(MB[i][j]=='~' && MB[i-1][j]=='~' && MB[i-2][j]=='~' && (i-2)>=0 && i<N && j>=0 && j<N)
                {
                    MB[i][j]='B'; MB[i-1][j]='B'; MB[i-2][j]='B';
                }
                else
                {
                    printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
                    Leia(MB);
                }
            }
            else if(numpos==5)
            {
                if(MB[i][j]=='~' && MB[i-1][j]=='~' && MB[i-2][j]=='~' && MB[i-3][j]=='~' && MB[i-4][j]=='~' && (i-4)>=0 && i<N && j>=0 && j<N)
                {
                    MB[i][j]='B'; MB[i-1][j]='B'; MB[i-2][j]='B'; MB[i-3][j]='B'; MB[i-4][j]='B';
                }
                else
                {
                    printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
                    Leia(MB);
                }
            }
        }
        else if(aloc==2)//De Cima para Baixo
        {
            if(numpos==3)
            {
                if(MB[i][j]=='~' && MB[i+1][j]=='~' && MB[i+2][j]=='~' && i>=0 && (i+2)<N && j>=0 && j<N)
                {
                    MB[i][j]='B'; MB[i+1][j]='B'; MB[i+2][j]='B';
                }
                else
                {
                    printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
                    Leia(MB);
                }
            }
            else if(numpos==5)
            {
                if(MB[i][j]=='~' && MB[i+1][j]=='~' && MB[i+2][j]=='~' && MB[i+3][j]=='~' && MB[i+4][j]=='~' && i>=0 && (i+4)<N && j>=0 && j<N)
                {
                    MB[i][j]='B'; MB[i+1][j]='B'; MB[i+2][j]='B'; MB[i+3][j]='B'; MB[i+4][j]='B';
                }
                else
                {
                    printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
                    Leia(MB);
                }
            }
        }
    }
    else if(pos==2)//ALOCAÇÃO HORIZONTAL
    {
        if(aloc==3)//Da Esquerda para Direita
        {
            if(numpos==3)
            {
                if(MB[i][j]=='~' && MB[i][j+1]=='~' && MB[i][j+2]=='~' && j>=0 && (j+2)<N && i>=0 && i<N)
                {
                    MB[i][j]='B'; MB[i][j+1]='B'; MB[i][j+2]='B';
                }
                else
                {
                    printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
                    Leia(MB);
                }
            }
            else if(numpos==5)
            {
                if(MB[i][j]=='~' && MB[i][j+1]=='~' && MB[i][j+2]=='~' && MB[i][j+3]=='~' && MB[i][j+4]=='~' && j>=0 && (j+4)<N && i>=0 && i<N)
                {
                    MB[i][j]='B'; MB[i][j+1]='B'; MB[i][j+2]='B'; MB[i][j+3]='B'; MB[i][j+4]='B';
                }
                else
                {
                    printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
                    Leia(MB);
                }
            }
        }
        else if(aloc==4)//da Direita para Esquerda
        {
            if(numpos==3)
            {
                if(MB[i][j]=='~' && MB[i][j-1]=='~' && MB[i][j-2]=='~' && (j-2)>=0 && j<N && i>=0 && i<N)
                {
                    MB[i][j]='B'; MB[i][j-1]='B'; MB[i][j-2]='B';
                }
                else
                {
                    printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
                    Leia(MB);
                }
            }
            else if(numpos==5)
            {
                if(MB[i][Y]=='~' && MB[i][j-1]=='~' && MB[i][j-2]=='~' && MB[i][j-3]=='~' && MB[i][j-4]=='~' && (j-4)>=0 && j<N && i>=0 && i<N)
                {
                    MB[i][j]='B'; MB[i][j-1]='B'; MB[i][j-2]='B'; MB[i][j-3]='B'; MB[i][j-4]='B';
                }
                else
                {
                    printf("\n\n\nPosicao invalida! Tente Novamente!\n\n");
                    Leia(MB);
                }
            }
        }
    }
    printf("\n");
    Imprimir(MB);
}
int main()
{
    printf("\a\t\tIFPB - Campus Joao Pessoa\n");
    printf("\t\tCurso Superior de Engenharia Eletrica\n");
    printf("\t\tDisciplina de Algoritmos e Logica de Programacao\n");
    printf("\t\tProfessor: Erick\n");
    printf("\t\tProva 2: Parte 2, Jogo de Batalha Naval\n");
    printf("\t\tGrupo: Paulo Felipe, Josivaldo Gomes e Marcello Aires\n\n");
    printf("\n--------------------------------------------------------------------------------\n");
    char M[N][N], MB[N][N];
    int i, j, opcao, ME[N][N]={};
    GerarEspiral(ME);
    ZeraT(M, MB);//JOGADOR 1
    opcao = Menu();
    if(opcao==1)
    {
        HH(MB);
        contpos = cont(MB);
        printf("\nSecao de Jogadas do Jogador 1\n\n");
        for(i=0;i<N*N;i++)
        {
            Imprimir(M);
            Jogada(M, MB, 0);
            printf("\nQuantidade de Jogadas: %d\nQuantidade de Acertos: %d\nQuantidade Total de Posicoes de Barco: %d\n\n", contjog1, cont1, contpos);
            if(contpos == cont1)
                break;
        }
        Imprimir(M);
        printf("\n\nSECAO DE JOGADAS DO JOGADOR 1 TERMINADA\n\n");
    }
    else if(opcao==2)
    {
        CH(MB);
        contpos = cont(MB);
        printf("\nSecao de Jogadas do Jogador 1\n\n");
        for(i=0;i<N*N;i++)
        {
            Imprimir(M);
            Jogada(M, MB, 0);
            printf("\nQuantidade de Jogadas: %d\nQuantidade de Acertos: %d\nQuantidade Total de Posicoes de Barco: %d\n\n", contjog1, cont1, contpos);
            if(contpos == cont1)
                break;
        }
        Imprimir(M);
        printf("\n\nSECAO DE JOGADAS DO JOGADOR 1 TERMINADA\n\n");
    }
    else if(opcao==3)
    {
        int X, Y, i, estado = 0, ult=0;
        HC(MB, M);
        contpos = cont(MB);
        for(i=0;i<N*N;i++)
        {
            do
            {
                estado = 0;
                X = (rand()%N);//VAI DE 0 A N-1
                Y = (rand()%N);//VAI DE 0 A N-1
                if(MB[X][Y]=='~' && M[X][Y]=='~')
                {
                    M[X][Y] = '*';
                    contjog1++;
                    estado = 1;
                }
                else if(MB[X][Y]=='B' && M[X][Y]=='~')
                {
                    M[X][Y] = 'X';
                    contjog1++;
                    cont1++;
                    i += AcertouNavio(M, MB, X, Y, 0);
                    estado = 1;
                }
            }while(estado!=1);
            ImprimirAux(0);
            Imprimir(M);
            if(cont1==contpos)
            {
                printf("\n\nSECAO DE JOGADAS DO JOGADOR 1 TERMINADA\n\n");
                break;
            }
        }
    }

    ZeraT(M, MB);//JOGADOR 2
    opcao = Menu();
    if(opcao==1)
    {
        HH(MB);
        contpos = cont(MB);
        printf("\nSecao de Jogadas do Jogador 2\n\n");
        for(i=0;i<N*N;i++)
        {
            Imprimir(M);
            Jogada(M, MB, 1);
            printf("\nQuantidade de Jogadas: %d\nQuantidade de Acertos: %d\nQuantidade Total de Posicoes de Barco: %d\n\n", contjog2, cont2, contpos);
            if(contpos == cont2)
                break;
        }
        Imprimir(M);
        printf("\n\nSECAO DE JOGADAS DO JOGADOR 2 TERMINADA\n\n");
    }
    else if(opcao==2)
    {
        CH(MB);
        contpos = cont(MB);
        printf("\nSecao de Jogadas do Jogador 2\n\n");
        for(i=0;i<N*N;i++)
        {
            Imprimir(M);
            Jogada(M, MB, 1);
            printf("\nQuantidade de Jogadas: %d\nQuantidade de Acertos: %d\nQuantidade Total de Posicoes de Barco: %d\n\n", contjog2, cont2, contpos);
            if(contpos == cont2)
                break;
        }
        Imprimir(M);
        printf("\n\nSECAO DE JOGADAS DO JOGADOR 2 TERMINADA\n\n");
    }
    else if(opcao==3)
    {
        int X, Y, i, estado = 0, ult=0;
        HC(MB, M);
        contpos = cont(MB);
        for(i=0;i<N*N;i++)
        {
            do
            {
                estado = 0;
                X = (rand()%N);//VAI DE 0 A N-1
                Y = (rand()%N);//VAI DE 0 A N-1
                if(MB[X][Y]=='~' && M[X][Y]=='~')
                {
                    M[X][Y] = '*';
                    contjog2++;
                    estado = 1;
                }
                else if(MB[X][Y]=='B' && M[X][Y]=='~')
                {
                    M[X][Y] = 'X';
                    contjog2++;
                    cont2++;
                    i+=AcertouNavio(M, MB, X, Y, 1);
                    estado = 1;
                }
            }while(estado!=1);
            ImprimirAux(1);
            Imprimir(M);
            if(cont2==contpos)
            {
                printf("\n\nSECAO DE JOGADAS DO JOGADOR 2 TERMINADA\n\n");
                break;
            }
        }
    }
    if(contjog1<contjog2)
        printf("\nJOGADOR 1 VENCEU!!!   %d x %d\n\n", contjog1, contjog2);
    else if(contjog1>contjog2)
        printf("\nJOGADOR 2 VENCEU!!!   %d x %d\n\n", contjog2, contjog1);
    else
        printf("\nJOGO EMPATADO!!!      %d x %d\n\n", contjog1, contjog2);
    return 0;
}
int AcertouNavio(char M[][N], char MB[][N], int x, int y, int jog)
{
    int posicao, V[4], topo=0, i, joj = 0, aux=x, auy=y;
    srand(time(NULL));
    if((x-1)>=0 && M[x-1][y]=='~')//POSIÇÕES QUE EU POSSO SORTEAR
    {
        V[topo] = 1;
        topo++;
    }
    if((y-1)>=0 && M[x][y-1]=='~')
    {
        V[topo] = 2;
        topo++;
    }
    if((x+1)<N && M[x+1][y]=='~')
    {
        V[topo] = 3;
        topo++;
    }
    if((y+1)<N && M[x][y+1]=='~')
    {
        V[topo] = 4;
        topo++;
    }
    if(topo!=0)
    {
        posicao = rand()%topo;//DE 0 A TOPO
        if(V[posicao]==1)
        {
            while(1)//VAI IMPLEMENTANDO
            {
                aux--;
                if(aux>=0 && M[aux][auy]=='~')//É UMA JOGADA VÁLIDA?
                {
                    if(jog==0)
                        contjog1++;
                    else if(jog==1)
                        contjog2++;
                    joj++;
                    if(MB[aux][auy]=='B')//CONTINUA, ACERTOU
                    {
                        M[aux][auy] = 'X';
                        if(jog==0)
                            cont1++;
                        else if(jog==1)
                            cont2++;
                        ImprimirAux(jog);
                        Imprimir(M);
                    }
                    else if(MB[aux][auy]=='~')
                    {
                        M[aux][auy] = '*';
                        ImprimirAux(jog);
                        Imprimir(M);
                        joj += AcertouNavio(M, MB, x, y, jog);
                        break;
                    }
                }
                else//NÃO É UMA JOGADA VÁLIDA!
                {
                    joj += AcertouNavio(M, MB, x, y, jog);
                    break;
                }
            }
        }
        else if(V[posicao]==2)
        {
            while(1)//VAI IMPLEMENTANDO
            {
                auy--;
                if(auy>=0 && M[aux][auy]=='~')//É UMA JOGADA VÁLIDA?
                {
                    if(jog==0)
                        contjog1++;
                    else if(jog==1)
                        contjog2++;
                    joj++;
                    if(MB[aux][auy]=='B')//CONTINUA
                    {
                        M[aux][auy] = 'X';
                        if(jog==0)
                            cont1++;
                        else if(jog==1)
                            cont2++;
                        ImprimirAux(jog);
                        Imprimir(M);
                    }
                    else if(MB[aux][auy]=='~')
                    {
                        M[aux][auy] = '*';
                        ImprimirAux(jog);
                        Imprimir(M);
                        joj += AcertouNavio(M, MB, x, y, jog);
                        break;
                    }
                }
                else//NÃO É UMA JOGADA VÁLIDA!
                {
                    joj += AcertouNavio(M, MB, x, y, jog);
                    break;
                }
            }
        }
        else if(V[posicao]==3)
        {
            while(1)//VAI IMPLEMENTANDO
            {
                aux++;
                if(aux<N && M[aux][auy]=='~')//É UMA JOGADA VÁLIDA?
                {
                    if(jog==0)
                        contjog1++;
                    else if(jog==1)
                        contjog2++;
                    joj++;
                    if(MB[aux][auy]=='B')//CONTINUA
                    {
                        M[aux][auy] = 'X';
                        if(jog==0)
                            cont1++;
                        else if(jog==1)
                            cont2++;
                        ImprimirAux(jog);
                        Imprimir(M);
                    }
                    else if(MB[aux][auy]=='~')
                    {
                        M[aux][auy] = '*';
                        ImprimirAux(jog);
                        Imprimir(M);
                        joj += AcertouNavio(M, MB, x, y, jog);
                        break;
                    }
                }
                else//NÃO É UMA JOGADA VÁLIDA!
                {
                    joj += AcertouNavio(M, MB, x, y, jog);
                    break;
                }
            }
        }
        else if(V[posicao]==4)
        {
            while(1)//VAI IMPLEMENTANDO
            {
                auy++;
                if(auy<N && M[aux][auy]=='~')//É UMA JOGADA VÁLIDA?
                {
                    if(jog==0)
                        contjog1++;
                    else if(jog==1)
                        contjog2++;
                    joj++;
                    if(MB[aux][auy]=='B')//CONTINUA
                    {
                        M[aux][auy] = 'X';
                        if(jog==0)
                            cont1++;
                        else if(jog==1)
                            cont2++;
                        ImprimirAux(jog);
                        Imprimir(M);
                    }
                    else if(MB[aux][auy]=='~')
                    {
                        M[aux][auy] = '*';
                        ImprimirAux(jog);
                        Imprimir(M);
                        joj += AcertouNavio(M, MB, x, y, jog);
                        break;
                    }
                }
                else//NÃO É UMA JOGADA VÁLIDA!
                {
                    joj += AcertouNavio(M, MB, x, y, jog);
                    break;
                }
            }
        }
    }
    return joj;
}
Example #14
0
int main(){
	char labelConj; // rotulo do conjunto empregado nas operacoes
	int erro;       // flag de erro na criacao dos conjuntos
	int Opcao;      // operacao escolhida pelo usuario
	Conjunto *A, *B, *C;
	elem valor, min, max;

	// conjunto A
	A = CriaConjVazio(&erro);
	if (erro){
		printf("Erro de alocacao!\n");
		exit(1);
	}

	// conjunto B
	B = CriaConjVazio(&erro);
	if (erro){
		printf("Erro de alocacao!\n");
		exit(1);
	}

	// conjunto C onde serao armazenados os resultados das operacoes
	C = CriaConjVazio(&erro);
	if (erro){
		printf("Erro de alocacao!\n");
		exit(1);
	}


	//Enquanto Opcao for diferente de SAIR.
	do {

		//Pergunta a Opcao que o usuario deseja realizar.
		scanf("%d", &Opcao);

		//Verifica qual Opcao foi escolhida.
		switch (Opcao) {

			// Opcao 1
			case INSERCAO:

				scanf("%d \n%c", &valor, &labelConj);

				if (labelConj == 'A') //insere em A
					if (Insere(valor, A) == FALSO) //se der problema
						printf(FRASE_ELEM_INVALIDO); //imprime frase
					else {
						printf("A = ");
						Imprimir(A);
					}
				else if (labelConj == 'B') // insere em B
						if (Insere(valor, B) == FALSO)
							printf(FRASE_ELEM_INVALIDO);
						else {
							printf("B = ");
							Imprimir(B);
						}
				else
					printf(FRASE_ERRO);

				break;

			// Opcao 2
			case REMOCAO:

				scanf("%d \n%c", &valor, &labelConj);

				if (labelConj == 'A') // remove de A
					if (Remove(valor, A) == FALSO) //se der problema
						printf(FRASE_ELEM_NAOENCONTRADO); //imprime frase
					else {
						printf("A = ");
						if (TestaVazio(A)) {
							printf(FRASE_CONJ_VAZIO);
						} else {
							Imprimir(A);
						}
					}

				else if (labelConj == 'B') // remove de B
					if (Remove(valor, B) == FALSO)
						printf(FRASE_ELEM_NAOENCONTRADO);
					else {
						printf("B = ");
						if (TestaVazio(B)) {
							printf(FRASE_CONJ_VAZIO);
						} else {
							Imprimir(B);
						}
					}

				else
					printf(FRASE_ERRO);

				break;

			// Opcao 3
			case MEMBRO:

				scanf("%d \n%c", &valor, &labelConj);

				if (labelConj == 'A') // procura em A
					if (Membro(valor, A) == FALSO) //se der problema
						printf(FRASE_FALSO); //imprime frase
					else
						printf(FRASE_VERDADEIRO); //imprime frase

				else if (labelConj == 'B') // procura em B
					if (Membro(valor, B) == FALSO)
						printf(FRASE_FALSO);
					else
						printf(FRASE_VERDADEIRO);
				else
					printf(FRASE_ERRO);

				break;

			// Opcao 4
			case TAMANHO:

				scanf("\n%c", &labelConj);

				if (labelConj == 'A') // verifica A
					printf("%d\n", Tamanho(A));
				else if (labelConj == 'B') // verifica B
					printf("%d\n", Tamanho(B));
				else
					printf(FRASE_ERRO);

				break;

			// Opcao 5
			case IMPRESSAO:

				printf("A = ");
				if (TestaVazio(A)) {
					printf(FRASE_CONJ_VAZIO);
				} else {
					Imprimir(A);
				}

				printf("B = ");
				if (TestaVazio(B)) {
					printf(FRASE_CONJ_VAZIO);
				} else {
					Imprimir(B);
				}

				break;

			// Opcao 6
			case MINIMO:

				scanf("\n%c", &labelConj);

				if (labelConj == 'A') { // verifica A
					min = Min(A);
					if (min == TAM) // se conjunto vazio
						printf(FRASE_CONJ_VAZIO); // imprime frase
					else
						printf("%d\n", min); //imprime frase

				} else if (labelConj == 'B') { // verifica B
					min = Min(B);
					if (min == TAM) // se conjunto vazio
						printf(FRASE_CONJ_VAZIO); // imprime frase
					else
						printf("%d\n", min); //imprime frase

				} else
					printf(FRASE_ERRO);

				break;

			// Opcao 7
			case MAXIMO:

				scanf("\n%c", &labelConj);

				if (labelConj == 'A') { // verifica A
					max = Max(A);
					if (max == TAM) // se conjunto vazio
						printf(FRASE_CONJ_VAZIO); // imprime frase
					else
						printf("%d\n", max); //imprime frase

				} else if (labelConj == 'B') { // verifica B
					max = Max(B);
					if (max == TAM) // se conjunto vazio
						printf(FRASE_CONJ_VAZIO); // imprime frase
					else
						printf("%d\n", max); //imprime frase

				} else
					printf(FRASE_ERRO);

				break;

			// Opcao 8
			case UNIAO:

				Inicializar(C);
				Uniao(A, B, C);
				if (TestaVazio(C)) {
					printf(FRASE_CONJ_VAZIO);
				} else {
					Imprimir(C);
				}

				break;

			// Opcao 9
			case INTERSECCAO:

				Inicializar(C);
				Interseccao(A, B, C);
				if (TestaVazio(C)) {
					printf(FRASE_CONJ_VAZIO);
				} else {
					Imprimir(C);
				}

				break;

			// Opcao 10
			case DIFERENCA:

				Inicializar(C);
				Diferenca(A, B, C);
				if (TestaVazio(C)) {
					printf(FRASE_CONJ_VAZIO);
				} else {
					Imprimir(C);
				}

				break;

			// Opcao 11
			case IGUAL:

				if (Igual(A, B) == FALSO)
					printf(FRASE_FALSO);
				else
					printf(FRASE_VERDADEIRO);

				break;

			// Opcao 12
			case COPIA:
				Copia(A, B);
				printf("A = ");
				if (TestaVazio(A)) {
					printf(FRASE_CONJ_VAZIO);
				} else {
					Imprimir(A);
				}

				printf("B = ");
				if (TestaVazio(B)) {
					printf(FRASE_CONJ_VAZIO);
				} else {
					Imprimir(B);
				}

				break;

			// Opcao 13
			case SAIR:
				Libera(A);
				Libera(B);
				Libera(C);

				break;
		}

	} while (Opcao != SAIR);

	return (0);
}
Example #15
0
int main() {
	//~ Se define un archivo para trabajarlo
    FILE *archivo; 
    //~ Creamos dos variables de Persona Ref tiene la estructura inicial del problema y Pers indica el elemento actual
    Persona *pers,*ref=(Persona*)malloc (sizeof(Persona));
	Familia *ref_fam=(Familia*)malloc(sizeof(Familia)),*fami;
    int empieza=0,empieza_fam=0;
    char caracteres[50],aux[50],papa[50]="",hijo[50]="",mama[50]="",apellido[50],famil_nomb[50];
    //~ creo las variables de nombre que ayudaran en el proceso
    archivo = fopen("Test.txt","r");
    //~ reviso si el arhivo fue cargado o salgo del programa
    if (archivo == NULL) exit(1);
    //~ en caso de entrar al programa empieza a leer el archivo
    while (feof(archivo) ==0) {
        fgets(caracteres,50,archivo);
        //~ Revisa si la linea corresponde al padre
        if(strncmp(caracteres,"Nombre de la familia",10)==0){
			fgets(caracteres,50,archivo);
			strcpy(famil_nomb,caracteres);
		}
        else if (strncmp(caracteres,"Padre: ",7)==0) {
			//~ Corta la cadena solo con el nombre
			Recortar(caracteres,papa,7,strlen(caracteres));
			//~ Imprime el nombre para corroborar
            //~ Busca en la lista si el nombre ya fue ingresado
            if(Buscar(papa,ref)!=NULL) {
                printf("\nFue ingresado\n");
                
            }
            else if(empieza==0){
				ref=Crear(NULL,papa,"","");
				printf("  Creando.....\n");
				//~ Le indico a pers la posicion actual de ref para empezar a trabajar con el
				pers=ref;
				empieza++;
				
			}
            else{
				pers->sig=Crear(ref,papa,"","");
				pers=pers->sig;
				printf("  Creando.....\n");
			}
            int i=0;
            while(papa[i]!=' ') i++;
            i++;
            Recortar(papa,apellido,i,strlen(papa));
        }
        else if (strncmp(caracteres,"Madre: ",7)==0) {
            Recortar(caracteres,mama,7,strlen(caracteres));
            printf("%s",mama);
            if(Buscar(mama,ref)!=NULL) {
                printf("  Fue ingresado\n");
            }
            else{
				pers->sig=Crear(ref,mama,"","");
				pers=pers->sig;
				printf("  Creando.....\n");
			}
			if(empieza_fam==0){
				ref_fam=Crear_familia(ref,famil_nomb,papa,mama);
				fami=ref_fam;
				empieza_fam++;
			}
			else{
				fami->sig=Crear_familia(ref,famil_nomb,papa,mama);
				fami=fami->sig;
			}
        }
        else if (strncmp(caracteres,"Hijos: ",7)==0) {
            Recortar(caracteres,hijo,7,strlen(caracteres));
            if(strncmp(caracteres,"Hijos: sin hijos",16)==0) { 
				int x=0;
				for(x=0;x<50;x++){
					apellido[x]='\0';
					papa[x]='\0';
					caracteres[x]='\0';
					aux[x]='\0';
					hijo[x]='\0';
					mama[x]='\0';
					famil_nomb[x]='\0';
				}
				
			} 
            else {
				int len=0,num=0,verificador=0,num_hijo=0;
				while(verificador==0){
					num=0;
					while(hijo[len]!=',' && hijo[len]!='\n'&& hijo[len]!='\r'&& hijo[len]!=' ' ){
						aux[num]=hijo[len];
						len++;
						num++;
					}
					aux[num]=' ';
					aux[num+1]='\0';
					len+=2;
					printf("XXXXXXXXXXXXXXXXXXXXXXXXx %s%s",aux,apellido);
					if(aux[strlen(aux)-1]!=' '){
						strcat(aux," ");
					}
					strcat(aux,apellido);
					if(Buscar(aux,ref)!=NULL) {
						printf("  Fue ingresado\n");
						Reemplazar(ref,aux,papa,mama);
						fami->Hijos[num_hijo]=Buscar(aux,ref);
						num_hijo++;
					}			
					else{
						pers->sig=Crear(ref,aux,papa,mama);
						pers=pers->sig;
						printf(" Creando.....\n");
						fami->Hijos[num_hijo]=Buscar(aux,ref);
						num_hijo++;
						
					}
					if(hijo[len-2]=='\n'|| hijo[len-2]=='\r'|| hijo[len-2]==' ' ){
						verificador=1;
						int x=0;
						for(x=0;x<50;x++){
							apellido[x]='\0';
							papa[x]='\0';
							caracteres[x]='\0';
							aux[x]='\0';
							hijo[x]='\0';
							mama[x]='\0';
							famil_nomb[x]='\0';
						}
					}
					
				}
				
				
			}            
        }
        else{
			 printf("%s",caracteres);
		}
	
    }
    Imprimir(ref);
    Imprimir_fam(ref_fam);
    fclose(archivo);
    return 0;
}
main(){
	Nodo *A;
    char *pal,pal1[10];
   pal=(char*)malloc(sizeof(char));
   //pal1=(char*)malloc(sizeof(char));
	int i;
	A=Raiz();
	ifstream lexico("LexicoES.dic");
	
	 while(!lexico.eof()) {
		char*Palabra=new char[50];
		lexico>>Palabra;         
		for(i=0;i<strlen(Palabra);i++){
		   if(Palabra[i]=='/'){
				Palabra[i]='\0';
		   strncpy(Palabra,Palabra,i);
		   break;
		   }
		}
		if(Palabra[0]!='A'&&Palabra[0]!='E'&&Palabra[0]!='I'&&Palabra[0]!='O'&&Palabra[0]!='U')
		Insert(Palabra,A);
		else
			switch(Palabra[0]){
				case 'A':
					Palabra[0]='a';Insert(Palabra,A);break;
				case 'E':
					Palabra[0]='e';Insert(Palabra,A);break;
				case 'I':
					Palabra[0]='i';Insert(Palabra,A);break;
				case 'O':
					Palabra[0]='o';Insert(Palabra,A);break;
                case 'U':
					Palabra[0]='u';Insert(Palabra,A);break;
			}

	}
	lexico.close();
	while(1){
		cout<<"2 , 3, 4";
		cin>>i;
      if(i==2)
			Imprimir(pal,A);
		else{
			if(i==3){
				cout<<"Ingrese palabra:"<<endl;
				char Palabra1[10];
			   gets(Palabra1);
				if(Palabra1[0]!='A'&&Palabra1[0]!='E'&&Palabra1[0]!='I'&&Palabra1[0]!='O'&&Palabra1[0]!='U')
					cout<<comparar(A,Palabra1)<<endl;
				else
					switch(Palabra1[0]){
						case 'A':
							Palabra1[0]='a';cout<<comparar(A,Palabra1)<<endl;break;
						case 'E':
							Palabra1[0]='e';cout<<comparar(A,Palabra1)<<endl;break;
                  case 'I':
                  	Palabra1[0]='i';cout<<comparar(A,Palabra1)<<endl;break;
						case 'O':
							Palabra1[0]='o';cout<<comparar(A,Palabra1)<<endl;break;
						case 'U':
							Palabra1[0]='u';cout<<comparar(A,Palabra1)<<endl;break;
					}
      	}
         else
         	if(i==4)
         	cout<<"escribe algo ";
         	cin>>pal1;
            sugerencia(pal1,A,0,0);
		}
	}
}
Example #17
0
//METODO CONSTRUCTOR
int main()
{
    cabeza = NULL;
    cabeza1 = NULL;
    raiz = NULL;
    int seleccion;
    clock_t t1,t2;
    float t_ordenarBurbuja, t_ordenarQuicksort, t_insercion, t_recorido;
    //MENU DE LA APLICACION
    do{
        system("clear");
        if(seleccion==CARGAR){//CARGA LOS ARCHIVOS
            cabeza = leerArchivo(cabeza);
            t1=clock();
            raiz = insertaArbol(cabeza, raiz);
            t2=clock();
            t_insercion = (float)(t2-t1)/(float)(CLOCKS_PER_SEC);
            cabeza1 = insertarLista(cabeza, cabeza1);
            printf("El tiempo que tardo la inseccion = %f\n", (float)(t2-t1)/(float)(CLOCKS_PER_SEC));
        }
        if(seleccion==IMPRIMIR){//IMPRIME AMBOS DATOS
            printf("Quicksort\n");
            Imprimir(cabeza1);
            printf("Burbuja\n");
            Imprimir(cabeza);
            printf("Los datos del arbol son: \n");
            t1=clock();
            inOrden(raiz);
            t2=clock();
            t_recorido = (float)(t2-t1)/(float)(CLOCKS_PER_SEC);
            printf("\nEl tiempo que tardo en realizar el recorrido = %f\n", (float)(t2-t1)/(float)(CLOCKS_PER_SEC));
        }
        if(seleccion==ORDENAR){
            t1=clock();
            quicksirt(cabeza1, cantidad(cabeza1));
            t2=clock();
            t_ordenarBurbuja = (float)(t2-t1)/(float)(CLOCKS_PER_SEC);
            t1=clock();
            cabeza = ordenar(cabeza);
            t2=clock();
            t_ordenarQuicksort = (float)(t2-t1)/(float)(CLOCKS_PER_SEC);
        }
        if(seleccion==REPORTE){
            printf("REPORTE DE TIEMPOS \n\n");
            printf("Ingresar al arbol: %f\n", t_insercion);
            printf("Recorrido del arbol: %f\n", t_recorido);
            printf("Ordenado burbuja: %f\n", t_ordenarBurbuja);
            printf("Ordenado quicksort: %f\n", t_ordenarQuicksort);
        }
        if(seleccion==DIAGRAMA){
            graficar(t_insercion, t_recorido, t_ordenarBurbuja, t_ordenarQuicksort, cantidad(cabeza));
        }
        if(seleccion == 9){
            int n;
            scanf("%d", &n);
            printf("dato = %d\n", getNodo(cabeza1, n)->dato);
        }
        printf("\n------------------------- MENU ---------------------------\n");
        printf("0. Salir \n");
        printf("1. Leer Archivo \n");
        printf("2. Imprimir \n");
        printf("3. Ordenar Listas \n");
        printf("4. Reporte \n");
        printf("5. Diagrama \n");
        printf("6. Limpiar Consola \n");
        printf("-------------- Selecione una de las opciones ---------------\n");
        scanf("%d", &seleccion);
    }while(seleccion!=0);
    system("clear");
    printf("LA APLICACION TERMINO SU PROCESO \n");
    return 0;
}