Пример #1
0
int main() {
	li *l = (li*) malloc(sizeof(li));
	cab *cabecalho = (cab*) malloc(sizeof(cab));	
	char opcao;
	int num;

	cabecalho -> inilist = NULL;
	cabecalho -> fimlist = NULL;
	cabecalho -> nelem = 0;
	
	do {
		__fpurge(stdin);
		opcao = getchar();	
		
		if(opcao == 'I') {
			scanf("%d", &num);
			insere(cabecalho, num);
			imprime(cabecalho);
		}
		else if(opcao == 'R') {
			if(cabecalho -> nelem == 0)
				printf("Lista Vazia\n");
			else {
				retira(cabecalho);
				imprime(cabecalho);
			}
		}	
	} while(opcao != 'F');

return 0;
}
Пример #2
0
/* 
* Imprime por número, ordem inorder.
* */
void imprime(Turma t){
	if(t == NULL) return;
	imprime(t->esq);
	printf("%d,%s,%f\n", t->aluno.numero, t->aluno.nome, t->aluno.nota);
	imprime(t->dir);
	
}
Пример #3
0
int main (void){

lista<string> l1;
l1.begin = NULL;
l1.end = NULL;

push_back(l1,new string ("R"));
push_back(l1,new string ("A"));
push_back(l1,new string ("D"));
push_back(l1,new string ("A"));
push_back(l1,new string ("R"));
imprime(l1);
verifica(l1);

lista<string> l2;
l2.begin = NULL;
l2.end = NULL;

push_back(l2,new string ("R"));
push_back(l2,new string ("A"));
push_back(l2,new string ("D"));
push_back(l2,new string ("A"));
push_back(l2,new string ("E"));
imprime(l2);
verifica(l2);



}
Пример #4
0
int main(int argc, char *argv[])
{
    int base, i, j, n, espacos;
    char car;
    
    printf("Digite a base: ");
    scanf("%d", &base);
    
    printf("Digite o simbolo: ");
    scanf(" %c", &car);
    
    espacos = base/2;
    
    for(n = 1; n <= base; n = n+2)
    {
        imprime(espacos, ' ');              
        imprime(n, car);
        
        printf("\n");
        espacos--;
    }
    espacos =1;
    
    for(n = base-2; n >= 1; n = n-2)
    {
        imprime(espacos, ' ');
        imprime(n, car);
        
        printf("\n");
        espacos++;
    }
  
  system("PAUSE");	
  return 0;
}
Пример #5
0
void imprime(Arv *A){
	if(A!=NULL){
		printf("%d\n",A->val );
		imprime(A->esquerda);
		imprime(A->direita);
	}
}
Пример #6
0
/* Imprime árvore usando metodo em-ordem */
void imprime(PNo raiz) {
	if(raiz != NULL) {
		imprime(raiz->esq);
		printf("%d -- tt: %d -- balanc: %d\n",raiz->chave,raiz->tamanho_total,raiz->balanc);
		imprime(raiz->dir);
	}
}
Пример #7
0
void imprime(pont &inicio)   //versao recursiva
{if(inicio != 0)
  {
    imprime(inicio->esq);
    printf( "\n%d",inicio->valor);
    imprime(inicio->dir);
  }
}
Пример #8
0
void imprime (Arv* a)
{
    if (!vazia(a))
    {
        printf("%c ", a->info); /* mostra raiz */
        imprime(a->esq);        /* mostra sae */
        imprime(a->dir);        /* mostra sad */
    }
}
Пример #9
0
void imprime(parvore a)
{
	if (!vazia(a))
	 {
		imprime(a->esq);
		 printf("\n\tCODIGO:%S ",a->cod);
		imprime(a->dir);
	 }
}
Пример #10
0
void imprime (arvore r, FILE* saida) {
    if (r != NULL) {
        imprime (r->esq, saida);
        fprintf (saida, "%s ", r->str);
        imprime_lista (r->list, saida);
        fprintf (saida, "\n");
        imprime (r->dir, saida); 
    }
}
Пример #11
0
int main() {
  char entrada[10000];
  int n1[100], t1;
  int n2[100], t2;
  int n3[100], t3;
  int k;

  while(1) {
    /* Leitura dos números e conversão */
    scanf("%s",entrada);
    t1 = stringToNum(entrada,n1);
    scanf("%s",entrada);
    t2 = stringToNum(entrada,n2);

    /* Soma dos números */
    t3 = soma(n1,t1,n2,t2,n3);
    printf("A soma dos números é ");
    imprime(n3,t3);
    putchar('\n');

    /* Produto dos números */
    t3 = mult(n1,t1,n2,t2,n3);
    printf("O produto dos números é ");
    imprime(n3,t3);
    putchar('\n');

    /* Compara os dois números */
    k = compara(n1,t1,n2,t2);
    if (k == 1)
      printf("O primeiro é maior que o segundo\n");
    if (k == 0)
      printf("Os dois números são iguais\n");
    if (k == -1)
      printf("O segundo é maior que o primeiro\n");


    /* Subtração dos números */
    if (k >= 0)
      t3 = subtrai(n1,t1,n2,t2,n3);
    else
      t3 = subtrai(n2,t2,n1,t1,n3);
    printf("A diferença dos números é ");
    imprime(n3,t3);
    putchar('\n');

    /* Divisão de números */

    t1 = divide(n1,t1,n2[0]);

    printf("A divisão dos números é ");
    imprime(n1,t1);
    putchar('\n');

  }
  return 0;
}
Пример #12
0
int main(){
	int vetor[TAM],tamanho=TAM;
	preenche(tamanho,vetor);
	printf("Vetor sem ordenar:\n");
	imprime(0, tamanho-1,vetor);
	mergeSort(vetor,0,tamanho-1);
	printf("Vetor ordenado:\n");
	imprime(0, tamanho-1,vetor);
	return 0;
}
Пример #13
0
void consultaNivel(no *p){
	int i, nivel;
	if(p == NULL)
		return;
	imprime(p->dir, nivel+1);
	for(i=0;i<nivel;i++)
		printf("      ");
	printf("%6d\n\n",p->chave);
	imprime(p->esq,nivel+1);
}
Пример #14
0
int main(){
	Aeroporto l;
	//char letra;
	//int letra_num=0; // recebe um numero decimal e transforma em letra atraves da tabela ascII
	//int indiceRemover; // recebe o indice que será removido
	//int numPassageiro;
	
	double timingDanilo = omp_get_wtime(); // precisa do paramentro -fopenmp na compilacao
	inicializarAeroporto(&l);
	insere ('c', 3, &l);
	insere ('b', 4, &l);
	insere ('z', 5, &l);
	insere ('a', 6, &l);
	insere ('a', 7, &l);
	insere ('a', 8, &l); //6
	//ordenacao  (&l);
	imprime (&l);
	printf("Contador capacidade: %d \n", capacidade);
	buscarAviao(5,&l);
	remover (1, &l);
	imprime (&l);
	printf("Contador capacidade: %d \n", capacidade);
	ordenacao  (&l);
	imprime (&l);
	
	timingDanilo = omp_get_wtime() - timingDanilo;
	printf ("%f\n",timingDanilo);
		
/*while(true){ 
		if(l.prox!=NULL){
		printf("AQUI 2");
		indiceRemover=rand()%+1;
		remover(indiceRemover,&l);
		}
		printf("AQUI 3");
		imprime(&l);
		letra_num=rand()%36+65;
		letra=funcaoASCII(letra_num);
		numPassageiro=rand()%800;
		insere(letra,numPassageiro,&l);
		ordenacao(&l);
		sleep(5);
		//remove();
		//insere();
		//ordena();
		sleep(5);
		//remove();
		//insere();
		//insere();
		//insere();
		//insere();
		//ordena();		
	}*/
return 0;
}
Пример #15
0
void imprime(no *p, int nivel){
	int i;
	if(p == NULL)
		return;
	imprime(p->dir, nivel+1);
	for(i=0;i<nivel;i++)
		printf("      ");
	printf("%6d\n\n",p->chave);
	imprime(p->esq,nivel+1);

}
void parametro_por_referencia(int *entero, float *flotante) {

  printf("*************************\n");
  printf("Parametro por Referencia\n\n");
  imprime(*entero, *flotante);
  *entero = -314159235;
  *flotante = 6.2832f;
  imprime(*entero, *flotante);
  printf("Saliendo de parametro por referencia\n");

}
void parametro_por_valor(int entero, float flotante) {
 
  printf("*************************\n");
  printf("Parametro por Valor\n\n");
  imprime(entero, flotante);
  entero = 100;
  flotante = 3.1416f;
  imprime(entero, flotante);
  printf("Saliendo de parametro por valor\n");

}
Пример #18
0
//------------------------------------------------------------------------------------------------
void imprime(parvore a,int lin,int col,int desvio)//impressao
{ int x;
	if (!vazia(a))
	 {
		x=(col+desvio/2);
		imprime(a->esq,lin+2,col,desvio/2);
//		gotoxy(x,lin);
		printf("%s %c",a->cod, a->cor);
		imprime(a->dir,lin+2,x,desvio/2);
	 }
}
Пример #19
0
int main( int argc, char *argv[ ] ){
		
		//variaveis de tempo
		struct timeb start, stop;
		double elapsed;


		int i;
		if (argc > 1 ) {
			dimensao = atoi(argv[1]);
		}
		else {
			printf("\nQual a dimensao N (NxN) de suas matrizes?\n");
			scanf("%i",&dimensao);
		}



		//Cria matrizes 
		if (dimensao<=0 ) return -1;
		matrizA = (int **)malloc(dimensao*sizeof(int *));
		matrizB = (int **)malloc(dimensao*sizeof(int *));
		matrizResultado = (int **)malloc(dimensao*sizeof(int *));
		for (i=0;i<dimensao;i++) matrizA[i] = (int *)malloc(dimensao*sizeof(int));
		for (i=0;i<dimensao;i++) matrizB[i] = (int *)malloc(dimensao*sizeof(int));
		for (i=0;i<dimensao;i++) matrizResultado[i] = (int *)malloc(dimensao*sizeof(int));


		//PREENCHE MATRIZ 
		preenche(matrizA,time(NULL));
		preenche(matrizB,time(NULL)+1);
		
		//THREADS CALCULAM A MULTIPLICACAO
		ftime(&start);					//inicia timer
		multiplica(matrizA,matrizB);
		ftime(&stop);					//para timer
		elapsed=((double) stop.time + ((double) stop.millitm * 0.001)) - ((double) start.time + ((double) start.millitm * 0.001));
		
		//IMPRIME
		printf ("\nMatriz A:");
		imprime(matrizA);
		printf ("\nMatriz B:");
		imprime(matrizB);
		printf ("\n-Resultado:");
		imprime(matrizResultado);
		
		//gera link
		gerasite(matrizA,matrizB);
		
		printf("\n[1 arquivo  e Subprocessos =%i]  Matrizes = %i x %i -> O tempo de execucao e de %.3lf\n",dimensao, dimensao, dimensao,elapsed);

		//exit(0);
		return 0;
}
int main(){
	lista *lista = crialista();
	insere(lista, 1);
	insere(lista, 2);
	insere(lista, 3);
	insere(lista, 4);
	imprime(lista);
	printf("\n");
	remover_ultimo(lista);
	printf("\n");
	imprime(lista);
}
int main(){
Listaint y;
inicializa(&y);
insere(&y,1);
insere(&y,9);
insere(&y,2);
imprime(&y);
//consulta(&y,13);
retira(&y,9);
imprime(&y);
system( "PAUSE");
return 0;
}
Пример #22
0
int main(){
    int tamanho, *vet, i;
    
    scanf("%d", &tamanho);
    vet = (int *) malloc(tamanho *(sizeof (int)));
    for(i=0;i<tamanho;i++){
            scanf("%d", &vet[i]);
    }
    imprime(vet, tamanho);
    bolha(vet, tamanho);
    imprime(vet, tamanho);
    return 0;
}
Пример #23
0
void parse (char *query) {

    ESTADO e;

    int a;

    if (query != NULL && strlen(query) != 0) {

        e = str2estado(query);

        if (e.card) e.card = 0;
        if (e.play) e = jogar(e);
        if (e.pass) e = passar(e);
    }

    else {

        e = bots1(baralhar());

        while(e.actual_jogador != 0){
            e = bots2(e);
        }

        a=e.mao[0];
        printf("%dn", a);
    }

    if (e.start == 1) {
        imprime_botao_start(e);
    }

    else{

        if (e.cartas[0] == 0 || e.cartas[1] == 0 || e.cartas[2] == 0 || e.cartas[3] == 0) {
            imprime_botao_trofeu(e);
            imprime(BARALHO,e);
            imprime_botao_reset(e);
        }

        else {
            imprime(BARALHO, e);
            imprime_botao_jogar(e);
            imprime_botao_passar(e);
            imprime_botao_layout(e);
            imprime_botao_clear(e);
            imprime_botao_sugestao(e);
            imprime_botao_exit(e);
            imprime_botao_teste(e);
        }
    }
}
Пример #24
0
void main(void)
{
     int a,b,c,d;
     printf("Ingrese los intervalos: a,b y c,d\n");
     scanf("%d %d %d %d",&a,&b,&c,&d);
     
     imprime(a,b,c,d);
     if (b<a||d<=c) printf("\nvalores incorrectos (a<b y c<d)");
     else if (b==a||c==d||b<c||d<a) printf("\nla interseccion es del vacio");
     else if (a==d) printf("\n%d",a);
     else if (b==c) printf("\n%d",b);
     else imprime(a,b,c,d);
     
     getch();
     }
Пример #25
0
//Método Main()
int main()
{
    char opcao='0';
    while(opcao!='4')
    {
     menu();
     opcao=getchar();
     fflush(stdin);
     
     // Valida a opção digitada após a chamada do método menu()
     switch(opcao)
     {
      case'1':insere();
      break;
      case'2':excluir();
      break;
      case'3':imprime();
        getchar();
      break;
      case'4':printf("\nFim de Execucao");

      getchar();
      exit(1);
      default:
      break;
     }
    }
}
Пример #26
0
int main()
{
   leia();
   calcule();
   imprime();
    return 0;
}
Пример #27
0
void *producer(void *param)
{
	int i;

	while(1) {
		i = (int)(drand48() * 100.0);	
		
		pthread_mutex_lock (&m);
		while (celulasOcupadas == BUF_SIZE){
			printf(RED "||||[ BUFFER CHEIO ]||||\n\n\n" RESET);
			pthread_cond_wait (&c_prod, &m);
		}

		buffer[indiceDeEscrita] = i;
		printf("PRODUZIU: %d\n\n",i );
		indiceDeEscrita = (indiceDeEscrita+1) % BUF_SIZE;
		celulasOcupadas++;
		imprime(0,celulasOcupadas);
		sleep((int)(drand48() * 4.0));
		pthread_mutex_unlock (&m);
		pthread_cond_signal (&c_cons);
		
	}
	
}
Пример #28
0
int *solver(objeto *obj, int n, int maxM )
{
	int i, j;
	int **matriz = (int **) calloc(n+1, sizeof(int *));
	
	matriz[0] = (int *) calloc(maxM+1, sizeof(int)); 

	for (i=1; i<n+1; i++)
	{	
		matriz[i] = (int *) calloc(maxM+1, sizeof(int));	
		for (j=1; j<maxM+1; j++)
			if ( obj[i-1].peso > j ) matriz[i][j] = matriz[i-1][j]; 
			else   	  
			  matriz[i][j] = max( (matriz[i-1][ j - obj[i-1].peso ] + obj[i-1].valor), matriz[i-1][j]);
			  // max{ f(Xn-1, W-Pn) + Vn , f(Xn-1, W) } (tá dentro, tá fora)
	}
	imprime(matriz, n+1, maxM);
	printf("\nValor máximo: %d\n",matriz[n][maxM] );

	int *resp = calloc(n, sizeof(int));
	
	i=n; j=maxM;
	for (; i>0; i--)
		if ( matriz[i][j] > matriz[i-1][j] ) {
			resp[i-1] = 1;  
			j-=obj[i-1].peso;
		}

	for (i = 0; i < n; i++)	free(matriz[i]);
	free(matriz);
	return resp;
}
Пример #29
0
TAVL* alterarAluno(TAVL* t) {
	printf(
			"    ___    ____                          ___    __                \n"
					"   /   |  / / /____  _________ ______   /   |  / /_  ______  ____ \n"
					"  / /| | / / __/ _ \\/ ___/ __ `/ ___/  / /| | / / / / / __ \\/ __ \\\n"
					" / ___ |/ / /_/  __/ /  / /_/ / /     / ___ |/ / /_/ / / / / /_/ /\n"
					"/_/  |_/_/\\__/\\___/_/   \\__,_/_/     /_/  |_/_/\\__,_/_/ /_/\\____/ \n");

	imprime(t);

	TAVL* aluno = NULL;
	int semestre, cargaHoraria;
	while(!aluno){
		printf("Digite umas das matriculas acimas para selecionar o aluno:\n");
		int matricula = lerInteiro();
		aluno = buscar(t, matricula);
	}

	printf("Digite o novo semestre do aluno:\n");
	semestre = lerInteiro();
	printf("Digite a nova carga horario concluida do aluno:\n");
	cargaHoraria = lerInteiro();

	aluno->semestre = semestre;
	aluno->cargaCursada = cargaHoraria;

	return t;
}
Пример #30
0
int main (void) {

	atribui (&elevador[0]);
	imprime (&elevador[0]);

	return 0;
}