Νέα

Προγραμματισμός C με μαθηματικά πακέτα.

  • Μέλος που άνοιξε το νήμα -
  • Ημερομηνία ανοίγματος
  • Απαντήσεις 22
  • Εμφανίσεις 3K
  • Tagged users Καμία
  • Βλέπουν το thread αυτή τη στιγμή 1 άτομα (0 μέλη και 1 επισκέπτες)

Επισκέπτης
όμως είναι εντελώς διαφορετικό αυτό που κάνω, τέσπα θενξ για το ενδιαφέρον σου.
 

LoneMarvel

Μέλος
Εγγρ.
11 Μαΐ 2006
Μηνύματα
1.157
Like
353
Πόντοι
36
Ο κώδικας που φτιάχνω (για το ΚΙΝΟ εννοώ) αποτελείται από διάφορες φόρμες, αλλά μία από τις κυριότερες ρουτίνες είναι η επόμενη.
Δίνω ένα κομματάκι της (πετσοκομμένο προφανώς).

Κώδικας:
double modelo(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8, int x9, int x10, int x11, int x12, int x13, int x14, int x15,
                 int x16, int x17, int x18, int x19, int x20, int x21, int x22, int x23, int x24, int x25, int x26, int x27, int x28, int x29)
    {
      double timi;

      timi=-386.346+50.5788*x1+285.939*x10+ <340 όροι παραλείφθηκαν> +0.510234*x8*x9;

      double kato_past=51, pano_past=112;        
      double kato_diakosia=201, pano_diakosia=253;
      double kato_ekatonpeninta=146, pano_ekatonpeninta=160;
      double kato_ekato=94, pano_ekato=156;
      double kato_peninta=48, pano_peninta=61;

      
      bool extrapolation=false;
      bool out_of_range=false;
      if (timi>=kato_past && timi<=pano_past)
      {
        if (x1<9 || x1>34)
          extrapolation=true;
        else if (x2<0 || x2>11)
          extrapolation=true;
        else if (x3<6 || x3>13)
          extrapolation=true;
        else if (x4<14 || x4>59)
          extrapolation=true;
        else if (x5<0 || x5>5)
          extrapolation=true;
        else if (x6<5 || x6>10)
          extrapolation=true;
        else if (x7<7 || x7>25)
          extrapolation=true;
        else if (x8<0 || x8>20)
          extrapolation=true;
        else if (x9<8 || x9>22)
          extrapolation=true;
        else if (x10<0 || x10>8)
          extrapolation=true;
        else if (x11<0 || x11>51)
          extrapolation=true;
        else if (x12<11 || x12>56)
          extrapolation=true;
        else if (x13<1 || x13>5)
          extrapolation=true;
        else if (x14<9 || x14>72)
          extrapolation=true;
        else if (x15<4 || x15>52)
          extrapolation=true;
        else if (x16<5 || x16>39)
          extrapolation=true;
        else if (x17<0 || x17>10)
          extrapolation=true;
        else if (x18<6 || x18>16)
          extrapolation=true;
        else if (x19<8 || x19>37)
          extrapolation=true;
        else if (x20<0 || x20>12)
          extrapolation=true;
        else if (x21<6 || x21>17)
          extrapolation=true;
        else if (x22<11 || x22>33)
          extrapolation=true;
        else if (x23<0 || x23>8)
          extrapolation=true;
        else if (x24<5 || x24>19)
          extrapolation=true;
        else if (x25<7 || x25>40)
          extrapolation=true;
        else if (x26<0 || x26>9)
          extrapolation=true;
        else if (x27<6 || x27>14)
          extrapolation=true;
        else if (x28<4 || x28>16)
          extrapolation=true;
        else if (x29<10 || x29>32)
          extrapolation=true;
      }
      else if (timi>=kato_diakosia && timi<=pano_diakosia)
      {
          .......
      }

Επικεντρώστε την προσοχή σας στα τεράστια if then else....


To θέμα είναι ότι κάθε φορά που θα ενημερώνεται η βάση δεδομένων θα πρέπει χειρωνακτικά να βάζω εγώ τις τιμές για να ελέγχεται αν οι τιμές των μεταβλητών (ουκ ολίγες 29) είναι εντός του πεδίου ορισμού?
Και επί 5 φορές (διότι τόσα είναι τα τμήματα της συνάρτησης) πάμε στους 145 ελέγχους.....
Τη βάψαμε άσχημα...
Ευτυχώς όμως που το Mathematica μπορεί να παράγει κώδικα για τη C. Για την ιστορία το Mathematica βασίζεται πάνω στη C.
Έτσι τούτο κομμάτι μου έλυσε τα χέρια!

Κώδικας:
For[stili=1, stili<=29, stili++,
  megistos=-1234;
  elaxistos=9876;
  For[i=1, i<=digmatapast, i++,
        megistos=Max[past[[i,stili]], megistos];
        elaxistos=Min[past[[i,stili]], elaxistos]
     ]
  Print["else if (x",stili,"<",elaxistos," || x",stili,">",megistos, ")  extrapolation=true;"]]

Καλησπέρα φίλε

Υπάρχει βιβλίο με τίτλο --> How to develop your own Lottery Picking Software in C++
Εαν σε ενδιαφέρει μπορώ να σου στείλω link για να το κατεβάσεις
 

Stories

Νέο!

Stories

Top Bottom