Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.84 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int nalaziSeUDetekciji(int row1[], int col1[], int row2[], int col2[], int ROW, int COL, int N){
  4.     for(int i = 0; i < N; i++)
  5.         if(ROW >= row1[i] && ROW <= row2[i] && COL >= col1[i] && COL <= col2[i]){
  6.             if(COL == col1[i] || COL == col2[i] || ROW == row1[i] || ROW == row2[i])
  7.                 return 1;
  8.             else if(ROW < row1[i] || ROW > row2[i] || COL < col1[i] || COL > col2[i])
  9.                 return 2;
  10.         }
  11.  
  12.     return 0;
  13. }
  14.  
  15. void ucitajPolje(int *polje, int H, int W, FILE * fin, int stanje){
  16.     for(int i = 0; i < H; i++)
  17.         for(int j = 0; j < W; j++){
  18.             if(stanje == 0) fscanf(fin, " %d", &(*((polje+i*W) + j)));
  19.             else *((polje+i*W) + j)  = 255;
  20.         }
  21. }
  22.  
  23. void main(){
  24.     int N, H, W;
  25.     FILE* fin = fopen("input.txt", "r"); /// INPUT DATOTEKA
  26.     fscanf(fin, "%d %d %d", &N, &H, &W);
  27.  
  28.     int row1[N], col1[N], row2[N], col2[N];
  29.     for(int i = 0; i < N; i++)
  30.         fscanf(fin, "%d %d %d %d", &row1[i], &col1[i], &row2[i], &col2[i]);
  31.  
  32.     int R[H][W], G[H][W], B[H][W], A[H][W];
  33.     ucitajPolje(R, H, W, fin, 0);
  34.     ucitajPolje(G, H, W, fin, 0);
  35.     ucitajPolje(B, H, W, fin, 0);
  36.     ucitajPolje(A, H, W, fin, 1);
  37.  
  38.     for(int i = 0; i < H; i++)
  39.         for(int j = 0; j < W; j++){
  40.             int detekcijaStanje = nalaziSeUDetekciji(row1, col1, row2, col2, i, j, N);
  41.             if(detekcijaStanje == 1){
  42.                 R[i][j] = 0;
  43.                 G[i][j] = 255;
  44.                 B[i][j] = 0;
  45.             } else if(detekcijaStanje == 2) A[i][j] = 127;
  46.         }
  47.  
  48.     FILE* fout = fopen("output.txt", "w"); /// OUTPUT DATOTEKA
  49.     fprintf(fout, "/image %d %d RGBA\n", H, W);
  50.     for(int i = 0; i < H; i++)
  51.         for(int j = 0; j < W; j++)
  52.             fprintf(fout, "%d %d %d %d ", R[i][j], G[i][j], B[i][j], A[i][j]);
  53.     fclose(fin);
  54.     fclose(fout);
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement