Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cfsl

Erro em um For

Recommended Posts

Ola Pessoal....

 

eu não entendo muito de C, mas to precisando fazer um projetinho para fazer equalização de imagem usando C e OpenGl, para fazer isso encontrei um código que gera o histograma de uma imagem, mas na hora que eu vou copilar ta dando 2 erros iguais em 2 FOR do código. O erro que esta aparecendo é o seguinte :

 

"parse error before "for" " alguem sabe o que quer dizer esse erro???

 

segue o código do programa :

//Mostra o diagrama da figura mostrando a tonalidade das cores quanto mais//escura mais perto da esquerda quanto mais clara mais perto da direita  //Define o vetor[255][2] onde: //	X   variavel qualquer //vetor[X][0]		onde se armazena o valor verdadeiro da quantidade de cores na figura //vetor[X][1]		porcentagem do valor do vetor[X][1] int vetor[255][2]; //FOR para Zerar o vetor[X][Y]   for(y=1;y<255;y++)	 {	 //Zera valores de vetor[Y][0]	 vetor[y][0]=0;	 }//Primeiro FOR que armazena no vetor[X][0] os valores reais da quantidade de repetição das cores! for(y=1; y<imagem1->h-1; y++) {  for(x=1; x<imagem1->w -1; x++)   {						   //Adiciona dado determinada cor numa determinada Posiçao ex:   //Coloca na posiçao 0 a cor de valor 0   //Coloca na posiçao 255 a cor de valor 255   //e assim vai  	vetor[imagem1->line[y][x]][0]=vetor[imagem1->line[y][x]][0]+1;  }   }//Agora pegaremos os valores do maior para a criação da porcentagem!!!  int maior=0;  //Ele irá correr o vetor que irá criar o histograma  for(x=0;x<255;x++)  {  //SE que verifica se o valor eh maior que a variavel maior  if(vetor[x][0]>maior)  {  //Se for maior colocar o valor do vetor[X][0] na variavel maior  maior=vetor[x][0];  }}    //Agora esse FOR irá criar a porcentagem para os valores com base no valor maior  for(x=0;x<255;x++)  {  //Regra de Três para a criação da porcentagem  vetor[x][1]=(vetor[x][0]*100)/maior;  }    	 //Esse for agora irá criar o Histograma, mas houve um problema ele gerou o histograma de cabeça para baixo assim para treinar mais fiz logo apos esse for como se faz a inversão  for(y=1; y<imagem2->h; y++){  for(x=0; x<imagem2->w; x++)   {						    //Esse IF cria uma linha correspondente à uma das cores da figura começando do 0 até o 255  //se for uma das linhas coloque branco	if(y<(vetor[x][1]))c=255;	//se não coloque preto	else	{  	c=0;	}//Coloque o resultado na imagem 3imagem3->line[y][x] = (unsigned char)c;			   							 	 }} //As barras verticais representam a quantidade de cores //AGORA EU FAÇO A INVERSAO DE CIMA PARA BAIXO	  for(y=0; y<imagem2->h; y++){//399	x  for(x=0; x<imagem2->w; x++)//249	  y    {						  //COLOCANDO O HISTOGRAMA NA POSIÇAO CERTAimagem2->line[(imagem2->h-1)-y][x]=imagem3->line[y][x];	 }}

Se alguem puder me ajudar eu agradeço

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

"parse error before "for" "

Significa que o erro não está no for, e sim antes dele.

Dê uma checada na parte anterior ao local onde ocorreram os erros. Procure por alguns ; que possam ter sido esquecidos...

 

E lembre-se sempre, só se podem declarar variáveis no início do programa, caso contrário haverá um erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os comentarios deixam tudo confuso. Talvez eles ate mesmo estejam causando os erros... verifique se nenhum deles ultrapassa 1 linha no seu codigo (aqui eles ultrapassam), pois isso pode estar causando o erro. Se quiser comentar codigo em C/C++ com varias linhas, use /* comment */

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.