Prévia do material em texto
#include <stdio.h>
#define MAX 20
#define PADRAO 20
int main(){
int R[PADRAO], G[PADRAO], B[PADRAO], Rf[PADRAO], Gf[PADRAO], Bf[PADRAO], x = 0, x2 = 0, x3 = 0; //Declaração de variáveis
system ("color 4f");
for(x; x < MAX; x++){ //Leituras dos dados que o usuário irá inserir
printf("Digite o valor %d de R: ", x + 1);
scanf("%d", &R[x]);
}
printf("\n\n");
system ("color 2f");
for(x2; x2 < MAX; x2++){
printf("Digite o valor %d de G: ", x2 + 1);
scanf("%d", &G[x2]);
}
printf("\n\n");
system ("color 1f");
for(x3; x3 < MAX; x3++){
printf("Digite o valor %d de B: ", x3 + 1);
scanf("%d", &B[x3]);
}
system ("color F");
for(x = 0; x < MAX; x++){ //Filtragem dos valores inseridos pelo usuário
Rf[x - 1] = (R[x - 1] + R[x] + R[x + 1]) / 3;
Bf[x - 1] = (B[x - 1] + B[x] + B[x + 1]) / 3;
Gf[x - 1] = (G[x - 1] + G[x] + G[x + 1]) / 3;
}
printf("\n\nVetores com as componentes RGB originais:\n\n"); //Impressão dos valores, tanto os originais quanto os filtrados
for(x = 0; x < MAX; x++){
printf("Vetor %d original vermelho: %d\n", x + 1, R[x]);
printf("Vetor %d original verde: %d\n", x + 1, G[x]);
printf("Vetor %d original azul: %d\n\n", x + 1, B[x]);
}
printf("\n\nVetores com as componentes RGB filtradas:\n\n");
for(x = 0; x < MAX; x++){
printf("Vetor %d filtrado vermelho: %d\n", x + 1, Rf[x]);
printf("Vetor %d filtrado verde: %d\n", x + 1, Gf[x]);
printf("Vetor %d filtrado azul: %d\n\n", x + 1, Bf[x]);
}
printf("Vetores originais com os valores em hexadecimal:\n\n"); //Impressão dos valores em hexadecimal, tanto os originais quanto os filtrados
for(x = 0; x < MAX; x++){
printf("%.2x%.2x%.2x\n\n", R[x], G[x], B[x]);
}
printf("Vetores filtrados com os valores em hexadecimal:\n\n");
for(x = 0; x < MAX; x++){
printf("%.2x%.2x%.2x\n\n", Rf[x], Gf[x], Bf[x]);
}
return 0;
}