Advertisement
gavrilo93

poredjenje 2 matrice-zavrseno

Dec 22nd, 2012
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.02 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX_SIZE 20
  4.  
  5.  
  6.  
  7. void ucitaj(FILE *in, int a[MAX_SIZE][MAX_SIZE], int *n)
  8. {
  9.     int j, i, k;
  10.  
  11.  
  12.         fscanf(in ,"%d", n);
  13.     k = *n;
  14.  
  15.     for(i=0; i<k; i++){
  16.         for(j=0; j<k; j++){
  17.             fscanf(in, "%d", &a[i][j]);
  18.             }
  19.     }
  20.  
  21. }
  22.  
  23. void ispisi (int a[MAX_SIZE][MAX_SIZE], int n)
  24. {
  25.     int j, i;
  26.     int k = n;
  27.  
  28.     for(i=0; i<k; i++){
  29.         printf("\n");
  30.  
  31.         for(j=0; j<k; j++){
  32.  
  33.             printf("%d", a[i][j]);
  34.             }
  35.     }
  36.  
  37. }
  38. int Poredjenje(int niz1[MAX_SIZE][MAX_SIZE], int niz2[MAX_SIZE][MAX_SIZE], int n1, int n2){
  39.  
  40. int j, i;
  41.  
  42.  
  43. /*for(i=0; i<n1; i++){
  44. printf("\n");
  45.  
  46. for(j=0; j<n1; j++){
  47.  
  48. printf("%d", niz1[i][j]);
  49. }
  50. }
  51.  
  52.  
  53.  
  54. for(i=0; i<n2; i++){
  55. printf("\n");
  56.  
  57. for(j=0; j<n2; j++){
  58.  
  59. printf("%d", niz2[i][j]);
  60. }
  61. }
  62. */
  63.  
  64.  
  65.  
  66.  
  67.  
  68.     int j1, j2, i1, i2, k1, k2;
  69.     int istina=0;
  70.     int u;
  71.     u = n1-n2+1;   
  72.  
  73.  
  74.     for(i1=0; i1<u; i1++){
  75.        
  76.        
  77.         for(j1=0; j1<u; j1++){
  78.        
  79.            
  80.                if(niz1[i1][j1] == niz2[0][0]){
  81.                 printf(" %d je jednako %d\n", niz1[i1][j1], niz2[0][0]);
  82.  
  83.                         for(k1=0;k1<n2;k1++){
  84.                             for(k2=0; k2<n2; k2++){
  85.  
  86.                                 if(niz1[i1+k1][j1+k2] == niz2[k1][k2])
  87.                                     {
  88.                                     printf(" %d je jednak %d\n", niz1[i1+k1][j1+k2] , niz2[k1][k2]);
  89.  
  90.                                     istina++;
  91.                                     }
  92.                                         }
  93.                
  94.                         }
  95.  
  96.                 if(istina!=(n2*n2)){istina = 0; } else { return 1;} }
  97.            
  98.    
  99.            
  100.        
  101.  
  102.        
  103.         }
  104.     }
  105.    
  106.     printf("vrednost istine je:%d\n", istina);
  107. return 0;
  108.  
  109. }
  110.  
  111. int main (int brArg, char *arg[]) {
  112.  
  113. int big[MAX_SIZE][MAX_SIZE], big_n;
  114. int small[MAX_SIZE][MAX_SIZE], small_n;
  115.  
  116. FILE *in;
  117. if((in = fopen(arg[1], "r"))==NULL) {printf("fajl se nije ucitao\n");}
  118.  
  119. ucitaj(in, big, &big_n);
  120. ucitaj(in, small, &small_n);
  121.  
  122. puts("Big:"); ispisi(big, big_n); printf("\n");
  123. puts("Small:"); ispisi(small, small_n); printf("\n");
  124.  
  125. //printf("ovo je nesto :%d", big[2][3]);
  126.  
  127. fclose(in);
  128.  
  129.  
  130.     if( Poredjenje(big, small, big_n, small_n))
  131.         {
  132.             printf("matrica small ulazi u sastav matrice big\n");
  133.  
  134.         }else {printf("matrica nijieeeee\n");}
  135.  
  136.  
  137.  
  138. return 0;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement