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); }
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); }
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]); } } }
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; }
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; }
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; }
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); }
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); } } }
//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; }