예제 #1
0
int calcula(int conj, int ini)
{
  /*int i;*/
  int a, b;

  if(conj == 0)
    return 0;
  if(ini >= m)
    return INFI;

  if(m - ini < 3 * conj)
    return INFI;

  if(memoriza[conj][ini] != -1)
    return memoriza[conj][ini];

  
  a = (comp[ini] - comp[ini+1]);
  a *= a;
  a += calcula(conj-1, ini+2);

  b = calcula(conj, ini+1);
  if(a < b)
    memoriza[conj][ini] = a;
  else
    memoriza[conj][ini] = b;
  return memoriza[conj][ini];
}
예제 #2
0
void calculatePoints(bool reset) {
	setaValorDaVariavel("x",0);
	double testNum = calcula(input.text);
	if (TemErro() && PegaCodigoErro() != ok) {
		functionPlot = false;
		errorMsg = PegaCodigoErro();
		errorMsgShow = errorMsg != expressao_vazia;
	} else {
		if (!reset && weightTempo > 0) {
			plotTempo = easeIn(plotTempo);
			for (int a = 0; a < cacheCount; a++) {
				functionCachePrev[a] = dlerp(functionCache[a],functionCachePrev[a],plotTempo);
			}
			plotTempo = 1;
		} else {
			plotTempo = 0;
		}
		functionPlot = true;
		errorMsgShow = false;
		zeroHeightPrev = lerp(zeroHeight,zeroHeightPrev,zeroHeightTempo*zeroHeightTempo);
		zeroHeight = testNum;
		zeroHeightTempo = 1;
		cacheCount = 0;
		for (double p = functionStart; cacheCount < CACHE_MAX && p <= functionEnd; cacheCount++,p += functionGap) {
			setaValorDaVariavel("x",p);
			functionCache[cacheCount] = calcula(input.text);
		}
	}
}
예제 #3
0
파일: lista1ex3.c 프로젝트: thiagovsk/EDA
int calcula(int numero){

	if( numero == 0 || numero == 1 ){
	
		return 1;
		
	}
	
	return calcula(numero-1) + calcula(numero-2);
}
main()
{
    char exp[tamanho] = {"54+3/2*"};//{"623+-382/+*2$3+"};         6
    printf("\n54+3/2*");
    printf("\nResultado: %d\n", calcula(exp));
	getchar();
}
예제 #5
0
int main() {
    int pDentro;
    float pi;
    pDentro = calcula(NPONTOS);
    pi = 4*((double)pDentro/(double)NPONTOS);//calcula valor de pi
    printf("Valor de pi: %f\n", pi);//%f padrao imprime 6 casas decimais
    return 0;
}
예제 #6
0
int main()
{
	int  num =-1, a =0, cont =0, maior =-1000, menor =1000, contpar =0,par =0 ;
	calcula(&num,&a,&cont,&maior,&menor,&contpar,&par);

	sistema ( "pause" );
	return 0 ;
}
int main() {

    int c = 10;

    printf("main %d %d\n", c, &c);
    calcula(&c);
    printf("main %d %d\n", c, &c);
}
예제 #8
0
int main(){
	tempo pessoa;
	
	scanf("%d", &pessoa.dias);
	calcula(&pessoa);
	printf("%d %d %d", pessoa.dias, pessoa.meses, pessoa.anos);
	
}
예제 #9
0
파일: prog.c 프로젝트: atilaromero/metcompA
int main(){
  FILE *file ;

  file = fopen("derivada_float.dat", "w" );
  calcula(file);

  fclose( file );
  return 0;
}
예제 #10
0
int main(int argc, char *argv[]){

    int fibonacci[MAX];

    calcula(fibonacci);
    muestra(fibonacci);

    return EXIT_SUCCESS;
}
예제 #11
0
/*Calcula a relação estatística para cada um dos elementos da lista*/
void moda(Words* a,Words* aux)
{
    if(a!= NULL)
    {
        calcula(a->vizinhos,a->freq, aux);
        moda(a->esq, aux);
        moda(a->dir,aux);
    }
}
예제 #12
0
int main(int argc, const char **argv){

    int resultado = 0;

    resultado = 2 + 3 * 5 - calcula('^', 2, 3);

    printf("Resultado = %i\n", resultado);

    return EXIT_SUCCESS;
}
예제 #13
0
int main()
{
int A[10],B[10];
	
	printf("informe o 1 vetor: \n");
	preenche(A);
	printf("\ninforme o 2 vetor: \n");
	preenchevetor(B);
	calcula(A,B);
	system("pause");
	return 0;

}
예제 #14
0
int main()
{
    tipo i;
    int h;
    for(h=1; ; h++) {
        scanf(" %lld", &i);
        if(i == 0)
            break;
        printf("Case %d: %d\n", h, calcula(i));
    }

    return 0;
}
예제 #15
0
int main(int argc, char **argv){ 

      int i, total = 0, gc = 0, pid1, pid2; 
      char str[N];

      le_dna("dna.txt",str);

      key_t chave = KEY;
      int fila;
      MSG mensagem;
    
      fila = msgget(chave, 0600 | IPC_CREAT);

      pid1 = fork();
      if (pid1 > 0) {
            pid2 = fork();
            if (pid2 > 0) {
                  msgrcv(fila, &mensagem, sizeof(int), 0, 0);
                  int count1 = mensagem.gc;
                  msgrcv(fila, &mensagem, sizeof(int), 0, 0);
                  int count2 = mensagem.gc;
                  printf("Conteudo GC: %.2f\n", (float) (count1 + count2)/strlen(str)); 
                  msgctl(fila, IPC_RMID, NULL);
            } else {
                  int gc = calcula(str, strlen(str)/2, strlen(str));
                  mensagem.tipo = 2;
                  mensagem.gc = gc;
                  msgsnd(fila, &mensagem, sizeof(int), 0);
            }
      } else {
            int gc = calcula(str, 0, strlen(str)/2);
            mensagem.tipo = 1;
            mensagem.gc = gc;
            msgsnd(fila, &mensagem, sizeof(int), 0);
      }
}
예제 #16
0
파일: erdos.c 프로젝트: ProgDan/maratona
int main()
{
  while (scanf("%d", &nartigos) == 1 && nartigos > 0)
    {
      /* inicializa estruturas */
      nautores = 0;
      memset(grafo, 0, sizeof(grafo));

      while (nartigos--)
	le_artigo();	  
      calcula();
      imprime();
    }
  return 0;
}
예제 #17
0
void main()
{
    float matriz [TAM][TAM]= {{0}};
    int condseguir;

    while(condseguir!=0)
    {   system("cls");
        fflush(stdin);
        cargamat(matriz);
        calcula (matriz);
        puts("\n\nIngrese 0(cero) para salir,1(uno) para continuar");
        do
        {   scanf("%d",&condseguir);
        } while(condseguir!=0&&condseguir!=1);
    }
}
예제 #18
0
/*FUNÇÃO AUXILIAR: usada para calcular a relação estatística*/
void calcula(Vizinhos* a,int f_a,  Words* aux)
{
    int f_b, f_ab;
    float moda=0;

    if(a!=NULL)
    {
        calcula(a->prox,f_a,aux);

        f_ab = a->freq_ab;
        f_b = busca(aux,a->id)->freq;
        moda= f_ab/(sqrt(f_a*f_b));
        a->moda = moda;

    }

}
예제 #19
0
int main()
{
  int casos;
  int i, j;

  scanf(" %d", &casos);
  while(casos--){
    scanf(" %d %d", &n, &m);
    n += 8;
    for(i = 0; i < m; i++)
      scanf(" %d", comp+i);
    for(i = 0; i <=n; i++)
      for(j = 0; j <= m; j++)
	memoriza[i][j] = -1;
    printf("%d\n", calcula(n, 0));
  }
  return 0;
}
예제 #20
0
void multiplica(int **mat1,int **mat2){
	
		int i,rc,acumula;
		int dimensao2=dimensao*dimensao;
		int id=1;
		Elemento x;
		FILE *arq;
		arq = fopen("dadossubprocessos.txt", "w+");
		fclose (arq);
		
		for (i=0;i<dimensao;i++){
			if (id!=0){
				id=fork();
			}
			if (id==0){
				x=calcula(i);
				
			}
			
		}
		
		if( id != 0 ) for (i=0;i<dimensao2;i++) wait();
		else kill(getpid(), SIGKILL);
		
		//soh o pai acessa essa area de Codigo, os filhos ja retornaram ou morreram
		arq=fopen("dadossubprocessos.txt","r");
		if (arq == NULL) {
			printf ("Houve um erro ao abrir o arquivo.\n");
			exit(-1);
		}
		for (i=0;i<dimensao2;i++){
			fscanf(arq,"%i %i %i", &x.linha,&x.coluna,&x.valor);
			//printf("%i %i \t%i\n", x.linha,x.coluna,x.valor);
			matrizResultado[x.linha][x.coluna]=x.valor;
		}
}
예제 #21
0
파일: trab.c 프로젝트: lucaslima94/pacman
void main(){
	calcula();
}
예제 #22
0
int main()
{
  int n, p, c;
  int i, j, k, d;
  int infi = 200000;
  No *temp;
  int min;

  FILE *fin = fopen("butter.in", "r");
  FILE *fout = fopen("butter.out", "w");
  
  fscanf(fin, " %d %d %d", &n, &p, &c);

  for(i=0; i<n; i++){
    fscanf(fin, " %d", &j);
    nocows[--j]++;
  }

  for(i=0; i < p; i++)
    al[i].prox = NULL;
  

  for(k = 0; k < c; k++){
    fscanf(fin, " %d %d %d", &i, &j, &d);
    i--; j--;
    temp = (No *)malloc(sizeof(No));
    temp->vert = j;
    temp->peso = d;
    temp->prox = al[i].prox;
    al[i].prox = temp;

    temp = (No *)malloc(sizeof(No));
    temp->vert = i;
    temp->peso = d;
    temp->prox = al[j].prox;
    al[j].prox = temp;
  }

  for(i=0; i<p; i++)
    for(j=0; j<p; j++)
      dist[i][j] = infi;

  /*
  for(i=0; i<p; i++){
    printf("%d: ", i);
    for(temp = al[i].prox; temp != NULL; temp = temp->prox)
      printf("%d ", temp->vert);
    printf("\n");
  }
  */

  for(k = 0; k < p; k++){
    if(nocows[k] == 0)
      continue;

    for(i = 0; i < p; i++)
      pos[i] = -1;

    dist[k][k] = 0;
    tam = 0;
    insere(k, k);

    while(tam > 0){
      i = retira(k);
      /*
      for(j=0; j<tam; j++)
	if(dist[k][HEAP[j]] < dist[k][i])
	  fprintf(stderr, "Opaaaaa!\n");
      */
      /*
      if(dist[k][i] == infi){
	fprintf(stderr, "Opaaaaaa!\n");
	break;
      }
      */
      for(temp = al[i].prox; temp != NULL; temp = temp->prox){
	j = temp->vert;
	if(dist[k][j] > dist[k][i] + temp->peso){
	  dist[k][j] = dist[k][i] + temp->peso;
	  if(pos[j] == -1)
	    insere(j, k);
	  else
	    atualiza(pos[j], k);
	}
      }
    }
  }
  /*
  for(i=0; i<p; i++)
    if(nocows[i] > 0)
      printf("Pasto %d: %d vacas\n", i, nocows[i]);
  */

  /*
  for(i=0; i<p; i++){
    if(nocows[i] == 0)
      continue;
    printf("%d: ", i);
    for(j=0; j<p; j++)
      printf("%3d ", dist[i][j]);
    printf("\n");
  }
  */
  min = calcula(0, p);
  /*printf("Pasto %d: %d\n", 0, min);*/
  for(i=1; i<p; i++){
    d = calcula(i, p);
    /*printf("Pasto %d: %d\n", i, d);*/
    if(d < min)
      min = d;
  }
  fprintf(fout, "%d\n", min);
  return 0;
}
예제 #23
0
파일: 2.c 프로젝트: neryluc/c-exercises
int calcula(int n){
    if(n > 0)
        return n % 10 + calcula(n / 10);
    else
        return 0;
}
예제 #24
0
파일: 2.c 프로젝트: neryluc/c-exercises
int main(){
    printf("%d\n", calcula(1235));
    return 0;
}
예제 #25
0
파일: lista1ex3.c 프로젝트: thiagovsk/EDA
int main(){



	printf("%d \n",calcula(0));
	printf("%d \n",calcula(1));
	printf("%d \n",calcula(2));
	printf("%d \n",calcula(3));
	printf("%d \n",calcula(4));
	printf("%d \n",calcula(5));
	printf("%d \n",calcula(6));
	printf("%d \n",calcula(7));
	printf("%d \n",calcula(8));
	printf("%d \n",calcula(9));
	printf("%d \n",calcula(10));
	
	

return 0;

}