Advertisement
Gleeshoux

Najneefikasniji kod ikada

Nov 22nd, 2024
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.35 KB | None | 0 0
  1. #include <stdio.h>
  2. #define size 8
  3. //prototypes
  4. double nadjiMax(double *povrsine);
  5. double nadji(double *povrsine,double max);
  6.  
  7. void charUNiz(char c, double bitArray[8]) ;
  8.  
  9.  
  10. int main(){
  11.  
  12. double povrsine[size]={10,40,60,35,25,24,72,1};
  13. double max=nadjiMax(povrsine);
  14. double maxSuma=nadji(povrsine,max);
  15.  
  16. printf("Procenat= %lf (( %lf je max suma  ))",(maxSuma/max)*100, maxSuma);
  17.  
  18. return 0;
  19. }
  20.  
  21. double nadjiMax(double *povrsine){
  22. int i;
  23. double max=povrsine[0];
  24. for(i=1;i<size;i++)
  25.     if(max<povrsine[i])
  26.         max=povrsine[i];
  27.  
  28. return max;
  29. }
  30.  
  31. void charUNiz(char c, double bitArray[8]) {
  32.     int i;
  33.     for ( i = 0; i < 8; i++) {
  34.         bitArray[i] = (c & (1 << (7 - i))) ? 1.0f : 0.0f;
  35.     }
  36. }
  37. double nadji(double *povrsine,double max){
  38. //izbacivanje maxa iz niza
  39. unsigned char maska;
  40. double maskaNiz[8];
  41. int i,j;
  42. double trazeni=0,trazeniTrenutni;
  43. for(i=0;i<size;i++){
  44.     if(povrsine[i]==max){
  45.         for(j=i;j<size-1;j++)
  46.             povrsine[j]=povrsine[j+1];
  47.         break;
  48.  
  49.     }
  50. }
  51. //maks izbacen, sad pravimo sve kombinacije i vracamo najvecu
  52. for(maska=1;maska!=0;maska++){
  53.     charUNiz(maska,maskaNiz);
  54.     for(i=0,trazeniTrenutni=0;i<size-1;i++){
  55.         trazeniTrenutni+=povrsine[i]*maskaNiz[i+1];
  56.     }
  57.     if(trazeni<trazeniTrenutni&&trazeniTrenutni<max)
  58.         trazeni=trazeniTrenutni;
  59. }
  60.  
  61.  
  62. return trazeni;
  63. }
  64.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement