Advertisement
Guest User

Untitled

a guest
Jul 14th, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.74 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int brojac1=0, brojac2=0,brojac3=0, brojac4=0;
  4. void crtanjePloce(int *ploca, int sirina, int visina);
  5. int valjanaPloca(int *ploca, int sirina, int visina);
  6. int main()
  7. {
  8.     int ploca[1000],i,visina,sirina,a;
  9.     printf("Unesite sirinu: "); scanf("%d", &sirina);if(sirina<5 || sirina>15) {printf("Neispravan unos"); return 1;}
  10.     printf("Unesite visinu: "); scanf("%d", &visina);if(visina<5 || visina>15) {printf("Neispravan unos"); return 2;}
  11.     printf("Unesite 1 i 0 u matricu: \n");
  12.     for(i=0;i<visina*sirina;i++)
  13.     {
  14.         scanf("%d", &ploca[i]);
  15.         if(ploca[i]!=0 && ploca[i]!=1) {printf("Neispravan unos"); return 3;}
  16.     }
  17.     //printf("-----------------------------");
  18.     crtanjePloce(ploca, sirina, visina);
  19.     a=valjanaPloca(ploca, sirina, visina);
  20.     if(a==1) printf("Ploca je ispravna.");
  21.     else if(a==0) printf("Ploca je neispravna.");
  22.     printf("\n%d %d %d %d\n", brojac1,brojac2,brojac3,brojac4);
  23.  
  24.     return 0;
  25. }
  26.  
  27. void crtanjePloce(int *ploca, int sirina, int visina)
  28. {
  29.     int i, j;
  30.     printf("\n");
  31.     for(i=0;i<visina;i++)
  32.     {
  33.         for(j=0;j<sirina;j++)
  34.         {
  35.             if(*ploca==0) printf(" ");
  36.             else if (*ploca==1) printf("X");
  37.             ploca++;
  38.         }
  39.         printf("\n");
  40.     }
  41. }
  42.  
  43. int valjanaPloca(int *ploca, int sirina, int visina)
  44. {
  45.     //int brojac1=0, brojac2=0,brojac3=0, brojac4=0;
  46.     int *ploca2;
  47.     ploca2=ploca;
  48.     int brojac;
  49.     int i,j;
  50.  
  51.     /*uslovi (ne)diranja */
  52.     for(i=0;i<visina;i++)
  53.     {
  54.         for(j=0;j<sirina;j++)
  55.         {
  56.             if(
  57.                (ploca[i*sirina+j]==1 && ploca[i*sirina+j+sirina]==1 && ploca[i*sirina+j+1]==1 && j!=sirina-1)
  58.             || (ploca[i*sirina+j]==1 && ploca[i*sirina+j+sirina]==1 && ploca[i*sirina+j-1]==1 && j!=0)
  59.             || (ploca[i*sirina+j]==1 && ploca[i*sirina+j-sirina]==1 && ploca[i*sirina+j+1]==1 && j!=sirina-1)
  60.             || (ploca[i*sirina+j]==1 && ploca[i*sirina+j-sirina]==1 && ploca[i*sirina+j-1]==1 && j!=0)
  61.                )
  62.             return 0;
  63.  
  64.         }
  65.     }
  66.  
  67.     /*  H  O  R  I  Z  O  N  T  A  L  A  */
  68.  
  69.     ploca=ploca2;
  70.     brojac=0;
  71.     for(i=0;i<visina;i++)
  72.     {
  73.         for(j=0;j<sirina;j++)
  74.         {
  75.             if(ploca[i*sirina+j]==1)
  76.             {
  77.                 brojac++;
  78.                 if(ploca[i*sirina+j]==1 && (ploca[i*sirina+j+sirina]==1 || ploca[i*sirina+j-sirina]==1))
  79.                 brojac--;
  80.  
  81.  
  82.                 if(brojac>5) return 0;
  83.                 if(brojac == 1 && ploca[i*sirina+j+1]==0 && j!=sirina-1 && ploca[i*sirina+j+sirina]!=1
  84.                    && ploca[i*sirina+j-sirina]!=1 )
  85.                 {
  86.                     brojac1++;  brojac=0;
  87.                 }
  88.                 else if(brojac == 1 && j==sirina-1 && ploca[i*sirina+j-sirina]!=1 && ploca[i*sirina+j+sirina]!=1) {brojac1++; brojac=0;}
  89.  
  90.  
  91.                 if(brojac == 2 && ploca[i*sirina+j+1]==0 && j!=sirina-1) {brojac2++; brojac=0;}
  92.                 else if(brojac == 2 && j==sirina-1) {brojac2++; brojac=0;}
  93.  
  94.  
  95.                 if(brojac == 3 && ploca[i*sirina+j+1]==0 && j!=sirina-1) {brojac3++; brojac=0;}
  96.                 else if(brojac == 3 && j==sirina-1) {brojac3++; brojac=0;}
  97.  
  98.                 if(brojac == 4 && ploca[i*sirina+j+1]==0 && j!=sirina-1) {brojac4++; brojac=0;}
  99.                 else if(brojac == 4 && j==sirina-1) {brojac4++; brojac=0;}
  100.  
  101.             }
  102.         }
  103.         brojac=0;
  104.     }
  105.  
  106.     /* V  E  R  T  I  K  A  L  A */
  107.  
  108.     ploca=ploca2;
  109.     brojac=0;
  110.     i=0;j=0;
  111.     for(i=0;i<visina;i++)
  112.     {
  113.         for(j=0;j<sirina;j++)
  114.         {
  115.             if(ploca[j*sirina+i]==1)
  116.             {
  117.                 brojac++;
  118.                 if(brojac>5) return 0;
  119.                 if(brojac == 1 && ploca[j*sirina+i+sirina]==0 ) brojac--;
  120.                // else if(brojac == 1  && i==visina-1) {brojac1++; brojac=0;}
  121.  
  122.                 if(brojac == 2 && ploca[j*sirina+i+sirina]==0 && j!=visina-1) {brojac2++; brojac=0;}
  123.                 else if(brojac == 2  && j==visina-1) {brojac2++; brojac=0;}
  124.  
  125.                 if(brojac == 3 && ploca[j*sirina+i+sirina]==0 && j!=visina-1) {brojac3++; brojac=0;}
  126.                 else if(brojac == 3  && j==visina-1) {brojac3++; brojac=0;}
  127.  
  128.                 if(brojac == 4 && ploca[j*sirina+i+sirina]==0 && j!=visina-1) {brojac4++; brojac=0;}
  129.                 else if(brojac == 4  && j==visina-1) {brojac4++; brojac=0;}
  130.             }
  131.         }
  132.         brojac=0;
  133.     }
  134.  
  135.     if(brojac1==4 && brojac2==3 && brojac3==2 && brojac4==1) return 1;
  136.     else return 0;
  137. }
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151. #include <stdio.h>
  152. #include <stdlib.h>
  153. int ProstSaN(int a,int n)
  154. {
  155.     int i=2,brojac=1;
  156.     while(i<=a && i<n)
  157.     {
  158.         if(a%i == 0 && n%i == 0) brojac = 0;
  159.         i++;
  160.     }
  161.     return brojac;
  162. }
  163. int f(int n)
  164. {
  165.     int i,brojac=1;
  166.     for(i=2; i<n; i++)
  167.     {
  168.         if(ProstSaN(i,n)) brojac++;
  169.     }
  170.     return brojac;
  171. }
  172. int main()
  173. {
  174.    int n;
  175.    printf("Unesite broj n: ");
  176.    scanf("%d", &n);
  177.    printf("%d", f(n));
  178.     return 0;
  179. }
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195. #include <stdio.h>
  196. #include <stdlib.h>
  197. //Ne mozemo izbacivati sve cifre odjednom, pa pravimo funkciju koja izbacuje jednu cifru iz broja, pa pomocu for petlje pozivamo tu funkciju vise puta za razlicite cifre
  198. int IzbaciCifru(int a, int broj)
  199. {
  200.     int br=0,i=1;
  201.  
  202.     if(broj<0)
  203.  
  204.     {
  205.         broj=-broj;
  206.         while(broj>0)
  207.         {
  208.             if(broj%10 != a)
  209.             {
  210.                 br += i*(broj%10);
  211.                 i *= 10;
  212.             }
  213.             broj=(int)broj/10;
  214.         }
  215.         return -br;
  216.     }
  217.  
  218.     else
  219.  
  220.     {
  221.  
  222.  
  223.         while(broj>0)
  224.         {
  225.             if(broj%10 != a)
  226.             {
  227.                 br += i*(broj%10);
  228.                 i *= 10;
  229.             }
  230.             broj=(int)broj/10;
  231.         }
  232.         return br;
  233.  
  234.     }
  235.  
  236.  
  237. }
  238. int izbaci_cifre(int broj, int* niz_cifara, int vel)
  239. {
  240.     int i;
  241.     int cifre[10];
  242.     for(i=0; i<10; i++) cifre[i]=0;
  243.     for(i=0; i<vel; i++)
  244.     {
  245.         if(niz_cifara[i]>9 || niz_cifara[i]<0)
  246.             return -99999;
  247.         cifre[niz_cifara[i]]++;
  248.         if(cifre[niz_cifara[i]]>1)
  249.             return -99999;
  250.         broj = IzbaciCifru(niz_cifara[i],broj);
  251.     }
  252.     return broj;
  253. }
  254. int main()
  255. {
  256.     int n, nizCif[1000],i=0,cifra;
  257.     printf("Unesite broj n: ");
  258.     scanf("%d", &n);
  259.     printf("\nUnesite niz cifara (-1 za kraj): ");
  260.     do
  261.     {
  262.         scanf("%d", &cifra);
  263.         if(cifra != -1)
  264.         {
  265.             nizCif[i] = cifra;
  266.             i++;
  267.         }
  268.     }
  269.     while(i<1000 && cifra != -1);
  270.     n = izbaci_cifre(n,nizCif,i);
  271.     if(n == -99999)
  272.         printf("\nNeisprevan unos!");
  273.     else
  274.         printf("\nBroj bez cifara glasi: %d", n);
  275.     return 0;
  276. }
  277. ZADACA3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement