Пример #1
0
main(){
       
  PESSOA pedro;
  ler(&pedro);
  mostrar(pedro);
  getche();
}
main(){
	int vetor[3];
	ler(vetor,3);
	mostrar(vetor,3);
	printf("Maior elemento: %d.\n",maiorElemento(vetor,3));
	printf("\nMenor elemento: %d.\n",menorElemento(vetor,3));
}
Пример #3
0
int main()
{
  ler();
  calcule();
  imprime();
  return 0;
}
Пример #4
0
int main () {
    int num[TAM];
    ler(num);
    exebir(num);
system("pause");

}
Пример #5
0
int main(){
	char text[1000], encript[1000];
	ler(text);
	troca(text, encript);
	exibe_str(encript);
	return 1;
}
Пример #6
0
 int main()
 {

  ler();
  soma();
  printf ("\n %d",a);
  printf ("\n %d",b);
 }
main(){
system ("color 70");

ler();
exibir();
system("pause");

} // key main
Пример #8
0
//Verifica se o arquivo foi criado corretamente, chama a função 'ler', a função 'rewind' e fecha o arquivo com o 'fclose'.
void se(FILE *pFile){
	if (pFile){
		ler(pFile);
		reiniciap(pFile);
		imprime(pFile);
		fclose(pFile);
	}
}
Пример #9
0
int main()

{
   iniciar();
   ler();
   imprime();
   return 0;

}
Пример #10
0
int main(){
	char str[100];
	int i;
	ler(str);
	enquanto(str);
	i = enquanto(str);
	se(i, strlen(str)-1);
	se2(str, i);
}
Пример #11
0
int main()

{

    ler();
    atribuir();
    modificar();
    imprimir();
    return 0;
}
Пример #12
0
int main()
{
  int casos;
  scanf(" %d", &casos);
  for(int h = 1; h <= casos; h++){
    ler(num1);
    ler(num2);
    somar();
    printf("%d ", h);
    int n = MAX - 1;
    while(n >= 0 && num1[n] == 0) n--;
    if(n < 0)
      printf("0");
    while(n >= 0){
      printf("%d", num1[n]);
      n--;
    }
    printf("\n");
  }
  return 0;
}
Пример #13
0
int* preenche(int tamanho)
{
  	int *vet, i;
  	vet = (int *)malloc(tamanho * sizeof(int));
  	if (vet)
  	{
		printf("\n PREENCHIMENTO DOS DADOS \n");	
		for (i=0;i < tamanho;i++)
        	{
	    		vet[i] = ler();
        	}
  	}
	return vet;
}
Пример #14
0
int main() {
    pixel imagem[MAX][MAX];
    int opcao = 1;
    // Menu da aplicação
    while (opcao != 0)
    {
      printf("Escolha um das opções:\n");
      printf(" 1: binarização da imagem usando thresholding \n");
      printf(" 2: executa blurring \n");
      printf(" 3: executa sharpening \n");
      printf(" 4: rotação da imagem, dado o ângulo \n");
      printf(" 5: ampliar a imagem, dado o zoom. \n");
      printf(" 6: reduzir a imagem, dado o zoom.\n");
      printf(" 0: Sair\n");
      printf("Opção: ");
      scanf("%i", &opcao);
      printf("\n");
      if(opcao == 0)
      break;
      ler(imagem);
        if(opcao == 1)
        {
          binarizar(imagem);
          salvar(imagem);
        }
        else if(opcao == 2)
        {
          img_blurring(imagem);
          salvar(imagem);
        }
        else if(opcao == 3)
        {
          img_sharpening(imagem);
          salvar(imagem);
        }
        else if(opcao == 4)
        {
          img_rotacionar(imagem);
          salvar(imagem);
        }
        else if(opcao == 5)
          img_ampliar(imagem);
          else
          printf("Opção Invalida!\n");

      }
      printf("Fim do programa!");
    return 0;
}
Пример #15
0
int menu_clientes() 
		
        
        {
        int op;
        int n;
	       clientes cli[NR];
	       for(n=0;n<NR;n++)
		   cli[n].estado=0;   /* limpa todo o Array de registos */
        system ("cls"); gotoxy(20,5);
        ler(cli);
        do {
        
		system ("cls");						        
		printf("\n\t|============================================|"); system("COLOR 0B"); /* fundo preto caracteres azul */
    	printf("\n\t|              C E M  R O D A S              |");
    	printf("\n\t|                                            |");
	   	printf("\n\t|                                            |");
    	printf("\n\t|               C L I E N T E S              |");
    	printf("\n\t|                                            |");
    	printf("\n\t|============================================|");
        printf("\n\t*                                            *"); 
        printf("\n\t*               1 - Inserir                  *");
        printf("\n\t*                                            *"); 
        printf("\n\t*               2 - Alterar                  *");
		printf("\n\t*                                            *"); 
        printf("\n\t*               3 - Eliminar                 *");
        printf("\n\t*                                            *");
        printf("\n\t*               4 - Listar Clientes          *");
        printf("\n\t*                                            *");
        printf("\n\t*               0 - Menu Principal           *");
		printf("\n\t*                                            *");
        printf("\n\t**********************************************");
        printf("\n\n\t             Qual a sua opcao? ");
				
				scanf("%d",&op);
               int n;
					switch (op) {
                        case 1: inserir_cliente(cli); break;
                        case 2: alterar(cli); break;
                        case 3: eliminar(cli); break;
						case 4: mostrar(cli); break;
                        case 0:
							gravar_clientes(cli); 
							system ("cls"); break;
                        default: printf("Opcao invalida!\n");
                }
        } while (op!=0);return (0);
}
// ----------------------------------------------------------------------------
// CNWGsmMessageHandler::CNWGsmMessageHandler
// C++ default constructor can NOT contain any code, that
// might leave.
// ----------------------------------------------------------------------------
//
CNWGsmMessageHandler::CNWGsmMessageHandler( 
            CNWGsmSessionImplementation& aNetworkData, 
            MNWMessageObserver& aMessageObserver,
            TNWInfo& aNWInfo )
            : CNWMessageHandler( aNetworkData,
                                 aMessageObserver,
                                 aNWInfo )
    {
    NWLOGSTRING( KNWOBJECT, "NW: CNWNetworkViagBaseEngine::CNWGsmMessageHand\
        ler() Begin " );

    iNetworkInfo.iViagIndicatorType = ENWViagIndicatorTypeNone;
    iNetworkInfo.iMCNIndicatorType = ENWMCNIndicatorTypeNone;
    
    NWLOGSTRING( KNWOBJECT, "NW: CNWNetworkViagBaseEngine::CNWGsmMessageHand\
        ler() End " );
    }
Пример #17
0
int main () {
	char str[1000], str2[1000]; 	// inicializa um vetor a ser lido.
	int n ,i=0, e=0;
	ler (str); 
	n = len (str) - 1;
	while(i <= n){
		if (detec_vogal (str[i])){ // utiliza a função localizada na linha 4 para saber se o caractere é um vogal ou não
			 i++;
		}
		if (detec_vogal (str[i])){
			 i++;
		}
		str2[e] = str[i];
		i++;
		e++;
	}
	printf ("%s", str2);
}
Пример #18
0
int main()
{
	FILE *fr;
	char nome[100], c;
	
	scanf("%[^\n]",nome);
	
	fr = fopen(nome, "rb");//só para ler
	if (fr == NULL)
	{
		perror("Erro ao abrir o arquivo");
		return 1;
	}
	
	ler(fr,nome);
	
	return 0;
}
Пример #19
0
void main()
{
	char aux;
	pilha *P, *L;

	pilha pilha_real;
	P=&pilha_real;
	char vetor[]="abcdefghijlmnopqrst";
	int tam, i;
	inicializa_pilha(P);
	inicializa_pilha(L);
	tam=(int)sizeof(vetor)/sizeof(char);
	for(i=0; i<tam; i++)
	  push(vetor[i], P);
	ler(P, aux);
	mostra_pilha(P, L);
	getch();
}
Пример #20
0
void menu(){
 char op;
 clrscr();
 gotoxy(30,1); printf("Menu de Opcoes\n\n");
 gotoxy(30,5); printf("1 - Ler valores\n");
 gotoxy(30,7); printf("2 - Somar\n");
 gotoxy(30,9); printf("3 - Subtrair\n");
 gotoxy(30,11); printf("4 - Multiplicar\n");
 gotoxy(30,13); printf("5 - Dividir\n");
 gotoxy(30,15); printf("6 - Sair\n\n");
 gotoxy(30,20); printf("Digite a opcao:");
 op = getch(); /* scanf("%c,&op") */
 switch(op){
  case '1' : ler(); break;
  case '2' : somar(); break;
  case '3' : subtrair(); break;
  case '4' : multiplicar(); break;
  case '5' : dividir(); break;
  case '6' : exit(0); break;
  default : menu();}}
Пример #21
0
int main()
{
	int i, Lmax,total_pecas;
	ptr_no ultima_linha; /*Vai receber a linha acima da jogada realizada */
	
	
	inicia_pecas_inteiras(); /*Iniciar a matriz de contagem*/
		
	scanf("%d\n",&total_pecas); /*Ler total de pecas */
	
	
	for(i = 0; i < total_pecas; i++) /*Ciclo leitura, colocacao, avaliacao */
	{
		ultima_linha = ler();  /*le uma peca e coloca-a, devolve a linha em que foi colocada */
		pontuacao += pontua(ultima_linha); /*Actualiza a pontuacao do jogo */
	}
	
	
	Lmax = lmax(top);  /*Calcula o lmax do tabuleiro apontado por top */
	
	
	imprimir_tabuleiro(top,Lmax,pontuacao); /*Imprimir o tabuleiro top no standard output*/
	
	printf("\n"); /*linha apos o tabuleiro */
	
	
	conta_pecas(top); /*Conta o numero de pecas inteiras no tabuleiro*/
	
	
	printf("%d\n",numero_pecas_inteiras); /*Imprimir o numero total de pecas inteiras*/
	
	imprimir_contagem(); /*Imprimir a contagem de pecas inteiras no final*/
	
	printf("\n"); /*linha apos as pecas inteiras */
	
	imprElim();
	
	return 0;
}
Пример #22
0
/*
\brief função principal
*/
int main()
{
	int *vetor,v,  tamanho;
	float DP, med;
	
	printf("\n\t\tPROGRAMA PARA COLOCAR NUMEROS EM ORDEM CRESCENTE\n");
      	printf("\n");
	printf("\nDIGITE A QUANTIDADE DE NUMEROS:\n");
        tamanho = ler();
	vetor = preenche(tamanho);      	
	printf("%d\n\n",vetor[2]);
	if(vetor)
	{

		exibe(vetor,tamanho);
	}
       	else
		printf("\nNAO EH POSSIVEL GERAR NUMEROS");

	ordena(vetor, tamanho);
	med = media(vetor,tamanho);
	desviop(vetor,med,tamanho);
}
Пример #23
0
int main()
{
    int v[5], i, j, k, x=0, troca, m[5][5];

    freopen("e6.txt", "r", stdin);
    freopen("s6.txt", "w", stdout);

    for (i=0 ; i<L ; i++)
    {
        ler(v);

        ordenar(v);

        popularMatriz(m, v, x);
        x++;
    }
    
    imprimirMatriz(m);

    fclose(stdin);
    fclose(stdout);

    return 0;
}
Пример #24
0
int main(){
	char text[1000]; // inicializa o string a ser lido.
	ler(text);	// lê do teclado o string a ser testado
	testPal(text); // testa se text é palindromo.
}
Пример #25
0
int main(){
	Aluno *a;
	ler(a);
	imprimir(a);
}
Пример #26
0
void main(){
    printf("a media eh: %f\n",media(ler(num),num));
}
Пример #27
0
///-------------------------------------------------------------------------
/// MAIN
///-------------------------------------------------------------------------
int main()
{
    int op=0;
    int posicao=0;

    char vetNome[30];
    LISTA *lista;

    CLIENTE dl;
    CLIENTE *cp;

    lista = criarLista();

    do
    {
        printf("1 - Criar Lista\n");
        printf("2 - Inserir Inicio\n");
        printf("3 - Inserir Final\n");
        printf("4 - Inserir Posicao\n");
        printf("5 - Acessar a partir Inicio\n");
        printf("6 - Acessar a partir Fim\n");
        printf("7 - Listar do inicio ao fim\n");
        printf("8 - Listar do fim ao inicio\n");
        printf("9 - Eliminar\n");
        printf("10 - Buscar nome Retorna endereco\n");
        printf("11 - Buscar nome Retorna posicao\n");
        printf("12 - Tamanho da Lista\n");
        printf("13 - Destruir\n");
        printf("14 - Sair\n");
        printf("15 - Salvar\n");
        printf("16 - Ler\n");
        printf("opcao: ");
        scanf("%d", &op);

        switch(op)
        {
            case 1: //Criar Lista
                    lista = criarLista();
                    break;
            case 2: // Inserir Inicio
                    printf("nome: ");
                    scanf("%s", dl.nome);
                    printf("idade: ");
                    scanf("%d", &dl.idade);
                    inserirInicio(&lista, dl);
                    break;
            case 3: // Inserir Final
                    printf("nome: ");
                    scanf("%s", dl.nome);
                    printf("idade: ");
                    scanf("%d", &dl.idade);
                    inserirFinal(&lista, dl);
                    break;
            case 4: // Inserir Posicao
                    printf("nome: ");
                    scanf("%s", dl.nome);
                    printf("idade: ");
                    scanf("%d", &dl.idade);
                    printf("posicao: ");
                    scanf("%d", &posicao);
                    inserirPosicao(&lista, posicao, dl);
                    break;
            case 5: // Acessar a partir Inicio
                    printf("posicao: ");
                    scanf("%d", &posicao);
                    cp = acessarAPartirInicio(&lista, posicao);
                    if (cp!=NULL)
                    {
                        printf("nome: %s\n", cp->nome);
                        printf("idade: %d\n", cp->idade);
                    }
                    else{
                        printf("posicao nao existe\n");
                    }
                    break;
            case 6: // Acessar a partir Fim
                    printf("posicao: ");
                    scanf("%d", &posicao);
                    cp = acessarAPartirFim(&lista, posicao);
                    if (cp!=NULL)
                    {
                        printf("nome: %s\n", cp->nome);
                        printf("idade: %d\n", cp->idade);
                    }
                    else{
                        printf("posicao nao existe\n");
                    }
                    break;
            case 7: // Listar do Inicio ao Fim
                    listarInicioFim(&lista);
                    break;
            case 8: // Listar do Fim ao Inicio
                    listarFimInicio(&lista);
                    break;
            case 9: // Eliminar Posição
                    printf("posicao: ");
                    //scanf("%s", &posicao);
                    scanf("%d", &posicao);
                    eliminarPosicao(&lista, posicao);
                    break;
            case 10:     // Buscar e retornar Endereco
                    printf("nome: ");
                    scanf("%s", &vetNome);
                    cp = buscarEnderecoNome(vetNome, &lista);
                    if (cp!=NULL)
                    {
                        printf("nome: %s\n", cp->nome);
                        printf("idade: %d\n", cp->idade);
                    }
                    else{
                        printf("nao existe o nome\n");
                    }
                    break;
            case 11:     // Buscar e retornar Posicao
                    printf("nome: ");
                    scanf("%s", &vetNome);
                    posicao = buscarPosicaoNome(vetNome, &lista);
                    if (posicao >= 0)
                    {
                        printf("posicao: %d\n", posicao);
                        cp = acessarAPartirInicio(&lista, posicao);
                        printf("nome: %s\n", cp->nome);
                        printf("idade: %d\n", cp->idade);
                    }
                    else{
                        printf("nao existe o nome\n");
                    }
                    break;
            case 12:// Tamanho da lista
                    printf("tamanho: %d\n\n", tamanho(&lista)); // nao precisa passar por referencia
                    break;
            case 13:// Destruir Lista
                    destruir(&lista);
                    break;
            case 15:// Salvar
                    salvar(&lista);
                    break;
            case 16:// Ler
                    ler(&lista);
                    break;

        }

    }while(op!=14);

    return 0;
}
Пример #28
0
   int main(int argc, char* argv[])
   {
      long    data, x, y, contador, menor_cont, nivel_cinza_inf, nivel_cinza_sup, nivel_mat_decisao;
      char    vetor[1000];
      long    lin, col, num_linhas = 0, Janela, lim_jan;
      long    i,j;
      float   **matDecisao;
      int     **matImagem, **matImagem2;
      float  dado, Media, Variancia, Skewness, Curtosis, DesvioPadrao, Lacunaridade, distancia, menor_dist, dist_ant, menor_dist2, menor_dist3, dist_aux, m_variancia, m_var_lido, fator_k;
      float  MaxMedia, MaxVariancia, MaxSkewness, MinSkewness, MaxCurtosis, soma_Media, Media_Aprendizagem;
      long    menor_cont2, menor_cont3, menor_cont_aux;
      int     soma0, soma255, somadist0, somadist255, iclas, kmed, kvar, kske, kcur, klac, kCorrecaoMedia, knn, FatCorrecao;
      struct    {
         float distancia;
         int  classe;
      } classificacao[15]; 
   
      ini = clock();

      BYTE *ImgIn, ImgOut;
      CDIB DIBIn, DIBOut;
      short int var1;
      struct cell *aux;
      inicializa();
      if (argc < 3) 
	  {
		  printf ("Sintaxe: LIM_KNN ImgIn ImOut MatDecisao.txt m v s c l CorrMedia Knn\n");
		  exit(0);
	  }
	  else printf ("LIM_KNN ImgIn ImOut MatDecisao.txt m v s c l CorrMedia Knn\n");
      printf ("Limiarizando a imagem %s em %s\n",argv[1], argv[2]);
      kmed = atoi(argv[4]);
      kvar = atoi(argv[5]);
      kske = atoi(argv[6]);
      kcur = atoi(argv[7]);
      klac = atoi(argv[8]);
      kCorrecaoMedia = atoi(argv[9]);
      knn = atoi(argv[10]);
      DIBIn .LoadBMPFromFile(argv[1]);
      printf("Definindo altura e largura da imagem k=%d \n", knn);
      x = DIBIn.GetImageWidth();
      y = DIBIn.GetImageHeight();
   
      FILE *fpArqMatDecisao;
      if ((fpArqMatDecisao = fopen(argv[3], "r")) == NULL)
         printf("File Read Error MatDecisao.txt");
   
      while (!feof(fpArqMatDecisao))
      {
         fgets(vetor, 1000, fpArqMatDecisao);
         num_linhas++;
      }
      fclose(fpArqMatDecisao);
      num_linhas = num_linhas - 2; 
      matImagem  = (int **) new (int *[y]);
      matImagem2  = (int **) new (int *[y]);
   
      for (i = 0; i < y; i++)
      {
         matImagem[i] = (int *) new (int [x]);
         matImagem2[i] = (int *) new (int [x]);
      }
      printf("Lendo Aprendizagem\n");
      fpArqMatDecisao = fopen(argv[3], "r");
      fscanf(fpArqMatDecisao, " %d %f %d %d %d", &Janela, &Media_Aprendizagem, &col, &col, &i); /*HEADER os ultimos tres sao desprezados*/ 
              
      if (knn == 1) ler(argv[3]);/*Le o arquivo e Monta o vetor - Versao Luciano*/
      else /*Versao Horacio*/
      {
         matDecisao = (float **) new (float *[num_linhas]);
         for (i = 0; i < num_linhas; i++)
            matDecisao[i] = (float *) new (float [6]); 
      
      
         for (lin = 0; lin < num_linhas; lin++)
         {	
            for (col = 0; col < 6; col++)
            {
               fscanf(fpArqMatDecisao, " %f ", &dado);
               matDecisao[lin][col] = dado;
            }
         }
      
      } 
      fclose(fpArqMatDecisao);
      printf("Matriz de Decisao lida e armazenada\n");
      soma_Media = 0.0;
      ImgIn = DIBIn.GetImageBits();
      for (lin=0;lin<y;lin++)
      {
         for (col=0;col<x;col++)
         {
            matImagem[lin][col]=(int)DIBIn.GetPixelG8(col,lin);
            soma_Media = soma_Media + matImagem[lin][col];
         }
      }
      soma_Media = soma_Media / (x*y);
      printf("Imagem convertida para a matriz\n");

      if (kCorrecaoMedia == 1) 
	  {
       FatCorrecao = (int)(Media_Aprendizagem - soma_Media);

	    for (lin = 0; lin < y; lin++) 
           for (col = 0; col < x; col++)
		   {
		     if ((matImagem[lin][col] + FatCorrecao) > 255) matImagem[lin][col] = 255;
			   else 
		        if ((matImagem[lin][col] + FatCorrecao) < 0) matImagem[lin][col] = 0;
			      else  matImagem[lin][col] = matImagem[lin][col] + FatCorrecao;
		    }
	  }
      
	  /********************************/
      /*Aqui calculam-se valores p/normalizacao */

      MaxVariancia = 0.0;
      MaxSkewness = 0.0;
      MaxCurtosis = 0.0;
      MinSkewness = 99999999999999.9;
	  printf ("Normalizando dados...\n");
	  lim_jan = Janela /2;
      for (lin = lim_jan; lin < y-lim_jan; lin++) 
         for (col = lim_jan; col < x-lim_jan; col++)  
         {
            dado = (float)lin/(float)y;
            printf("Processando %.2f %\r", (dado*100));

            Media = 0.0;
            for (i=lin-lim_jan; i<lin+lim_jan+1; i++)
               for (j=col-lim_jan; j<col+lim_jan+1; j++)
                  Media = Media + (float)matImagem[i][j];
         
            Media = (float) Media / (Janela * Janela);
			if (Media > MaxMedia) MaxMedia = Media;
         
            Variancia = 0.0;
	        Skewness = 0.0;
            Curtosis = 0.0;
	    Lacunaridade = 0.0;
            for (i=lin-lim_jan; i<lin+lim_jan+1; i++)
               for (j=col-lim_jan; j<col+lim_jan+1; j++)
               {
		         Variancia = Variancia + (((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media));
                 Skewness = Skewness + (((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media));
                 Curtosis = Curtosis + (((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media));
		 Lacunaridade = Lacunaridade + (Variancia /((Media + (float)matImagem[i][j]) * (Media + (float)matImagem[i][j])));
               }
         
            Variancia = Variancia / (Janela * Janela);
            if (Variancia > MaxVariancia) MaxVariancia = Variancia;
            if (Variancia == 0.0) DesvioPadrao = 0.000001; 
 	     else DesvioPadrao = (float) sqrt (Variancia);
		 
            Skewness = Skewness / (Janela * Janela * DesvioPadrao * DesvioPadrao * DesvioPadrao);
	    if (Skewness > MaxSkewness) MaxSkewness = Skewness;
            if (Skewness < MinSkewness) MinSkewness = Skewness;
	    Curtosis = Curtosis / (Janela * Janela * DesvioPadrao * DesvioPadrao * DesvioPadrao * DesvioPadrao);
	    if (Curtosis > MaxCurtosis) MaxCurtosis = Curtosis;
	    Lacunaridade = (float) Lacunaridade /(Janela * Janela);
            
         }
      printf ("MaxVariancia %f MinSkewness %f MaxSkewness %f MaxCurtosis %f\n", MaxVariancia, MinSkewness, MaxSkewness, MaxCurtosis); 
      /********************************/
      lim_jan = Janela /2;
      printf("Realizando Buscas na Aprendizagem \n");
      for (lin = lim_jan; lin < y-lim_jan; lin++) 
         for (col = lim_jan; col < x-lim_jan; col++)  
         {
            contador = 0;
            dado = (float)lin/(float)y;
            printf("Processando %.2f %\r", (dado*100));            

            Media = 0.0;
            for (i=lin-lim_jan; i<lin+lim_jan+1; i++)
               for (j=col-lim_jan; j<col+lim_jan+1; j++)
                  Media = Media + (float)matImagem[i][j];
         
            Media = (float) Media / (Janela * Janela);
         
            Variancia = 0.0;
            Skewness = 0.0;
            Curtosis = 0.0;
	    Lacunaridade = 0.0;
            for (i=lin-lim_jan; i<lin+lim_jan+1; i++)
               for (j=col-lim_jan; j<col+lim_jan+1; j++)
               {
		         Variancia = Variancia + (((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media));
                 Skewness = Skewness + (((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media));
                 Curtosis = Curtosis + (((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media) * ((float)matImagem[i][j] - Media));
		 Lacunaridade = Lacunaridade + (Variancia /((Media + (float)matImagem[i][j]) * (Media + (float)matImagem[i][j])));
               }
         
            Variancia = Variancia / (Janela * Janela);
            if (Variancia == 0.0) DesvioPadrao = 0.000001;
 	     else DesvioPadrao = (float) sqrt (Variancia);
            Skewness = Skewness / (Janela * Janela * DesvioPadrao * DesvioPadrao * DesvioPadrao);
	    Curtosis = Curtosis / (Janela * Janela * DesvioPadrao * DesvioPadrao * DesvioPadrao * DesvioPadrao);
	    Lacunaridade = (float) Lacunaridade /(Janela * Janela);

            /* Normalizando valores e verificando as caracteristicas a utilizar*/
            Media = kmed * Media;
            Variancia = kvar * 255 * (Variancia / MaxVariancia);
            Skewness = kske * 255 * ((Skewness - MinSkewness) / (MaxSkewness - MinSkewness));
            Curtosis = kcur * 255 * (Curtosis / MaxCurtosis);
	    Lacunaridade = klac * Lacunaridade;

            if (knn == 1) /*Versao do Luciano*/
            {
               aux=Busca(matImagem[lin][col],Media,Variancia,0,Skewness,Curtosis, Lacunaridade);
            	/*nivel_cinza_inf = tom_cinza->dado;
            	nivel_cinza_sup = tom_cinza->dado;*/
            
               matImagem2[lin][col] = aux->c3;
            } /*Fim versao do Luciano*/
            else /*Versao do Horacio para k>1*/
            {
               while ( (matImagem[lin][col] > (int)matDecisao[contador][0]) && (contador < num_linhas-1) )
                  contador++; //Possiciona-se na primeira linha correta da Matriz de Decisao
               nivel_cinza_inf = matDecisao[contador][0];
               nivel_cinza_sup = matDecisao[contador][0];
            
               if (matImagem[lin][col] != (int)matDecisao[contador][0]) /*Nao é igual*/
               {	   
                  if (contador != 0) 
                  {
                     nivel_cinza_inf = matDecisao[contador-1][0];
                     contador = 0;
                     while ( (nivel_cinza_inf != (int)matDecisao[contador][0]) && (contador < num_linhas-1) )
                        contador++; /*Possiciona-se na primeira linha correta da Matriz de Decisao*/
                  }
                  else nivel_cinza_inf = matDecisao[contador][0];
               }
            
            
               for (iclas=0; iclas<knn; iclas++)
               {
                  classificacao[iclas].distancia =  10000000;
                  classificacao[iclas].classe = -1;
               }
            
               menor_dist = 10000000;
               while ((nivel_cinza_inf <= (int)matDecisao[contador][0]) && (nivel_cinza_sup >= (int)matDecisao[contador][0]) && (contador < num_linhas-1) )
               {
                  distancia = (matImagem[lin][col] - matDecisao[contador][0]) + (kmed * ((Media - matDecisao[contador][1]))) + (kvar * ((Variancia - matDecisao[contador][2]) )) + (kske * ((Skewness - matDecisao[contador][4]))) + (kcur * ((Curtosis - matDecisao[contador][5]) )) + (klac * ((Lacunaridade - matDecisao[contador][6])));
               
                  if (distancia < menor_dist)
                  {
                     for (iclas=(knn-2); iclas > -1; iclas--)
                     {
                        classificacao[iclas+1].distancia = classificacao[iclas].distancia;
                        classificacao[iclas+1].classe = classificacao[iclas].classe;
                     }
                  
                     menor_dist = distancia;
                     classificacao[0].distancia = distancia;
                     classificacao[0].classe = matDecisao[contador][3];
                  
                  }
                  contador++;
               
               } 
            
               soma0=0;
               soma255=0;
               somadist0=0;
               somadist255=0;
               for (iclas=0; iclas<knn; iclas++)
               {
                  if (classificacao[iclas].classe == 0) soma0++;
                  if (classificacao[iclas].classe == 255) soma255++;
               }
            
               if (soma0 > soma255) matImagem2[lin][col] = 0;
               if (soma255 > soma0) matImagem2[lin][col] = 255;
               if (soma0 == soma255) //caso especial K= par;
               {
                  for (iclas=0; iclas<knn; iclas++)
                  {
                     if (classificacao[iclas].classe == 0) somadist0 = somadist0 + classificacao[iclas].distancia;
                     if (classificacao[iclas].classe == 255) somadist255 = somadist255 + classificacao[iclas].distancia;
                  }
                  if (somadist0 < somadist255) matImagem2[lin][col] = 0;
                  else matImagem2[lin][col] = 255;
               }
            
            
            } /*Fim versao do Horacio para k>1			*/		
         
         }
      printf("\nFim das Buscas\n");
      DIBOut.CreateImage(x,y,8);
      for (lin=0;lin<y;lin++)
      {
         for (col=0;col<x;col++)
         {
            DIBOut.SetPixelG8(col,lin,BYTE(matImagem2[lin][col]));
         		/*DIBOut.SetPixelG8(lin,col,BYTE(0));
         		//DIBOut.SetPixelG8(lin,col,BYTE(matImagem2[lin][col]);*/
         }
      }	
      printf("Gravando %s\n",argv[2]);
      DIBOut.SaveBMPFromFile(argv[2]);
      limpar();
      printf("Tempo de execucao (ms): %d\n", (clock() - ini)/1000);
      return 0;
   }
Пример #29
0
int main()
{
  ler();

}
Пример #30
0
int main(int argc, char *argv[]) {
    printf("Carregar a HashTable...\n\n");
    ler();
    char in[15];
    int running=1;
    int stock,max,quantidade;
    char nome[15];
    int modo;  
    while (running) {
	printf("\n");
        printf(" 1. Inserir\n");
        printf(" 2. Procurar\n");
        printf(" 3. Actualizar\n");
        printf(" 4. Apagar\n");
        printf(" 5. Ordenar\n");
        printf(" 6. Sair e Gravar\n");
	printf(" 7. Sair sem Gravar\n");
        gets(in);
        switch(atoi(in)) {
            case 1:    
		printf("Insira o Nome\n");
		gets(in); strcpy(nome,in);
		printf("Indique o Stock\n");
                gets(in); stock = atoi(in);
		ins = cria_semaforo(1234,1);
		P(ins);
                inserir(nome,stock);
		V(ins);
                break;
            case 2:
                printf("Nome que Deseja Procurar\n");	
		gets(in); strcpy(nome,in);
		pro = cria_semaforo(2345,1);
		P(pro);
                procurar(nome);
		V(pro);
                break;
            case 3:
		
		printf("Deseja Realizar uma Encomenda(1) ou uma Venda(2)");
		gets(in); modo= atoi(in);                
		printf("Insira o Nome\n");
		gets(in); strcpy(nome,in);
		printf("Indique a Quantidade\n");
                gets(in); quantidade= atoi(in);
                actu = cria_semaforo(3456,1);
		P(actu);
		 actualizar(nome,quantidade,modo);
		V(actu);
		break;
            case 4:
                printf("Nome que Deseja Remover\n");
		gets(in); strcpy(nome,in);
                apagar = cria_semaforo(4567,1);
		P(apagar);
		remover(nome);
		V(apagar);
                break;
            case 5:
                printf("Indique o Máximo do Top\n");
                gets(in); max = atoi(in);
                ordenar = cria_semaforo(5678,1);
		P(ordenar);
		sort(max);
		V(ordenar);
                break;
            case 6:
		grav = cria_semaforo(6789,1);
		P(grav);
		printf("A guardar ... ");
		gravar();
		V(grav);
                running=0;
                break;
	    case 7:
		printf("Deseja sair sem guardar ? [s/n]");
		gets(in); strcpy(nome,in);
		if(strcmp("s",nome) == 0){
			running=0;
		}else{
			running=1;
		}			
		break;
        }	
    }

    libertar();
    return 0;
}