Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
nekonečný cyklus v jave

Registrovaný: 02.12.06
Prihlásený: 23.03.24
Príspevky: 690
Témy: 35
Bydlisko: Rimavská So...
Príspevok NapísalOffline : 30.12.2009 16:07

ahojte nevite náhodou prečo sa toto furt zacyklí a počíta pri ďalšom priebehu cyklom s pôvodnou tojeterazjedno?



Kód:
public class SimplexMethod {
   private static TriangularMatrixAlgorithms<Fraction> tma = new TriangularMatrixAlgorithms<Fraction>();

   public static Fraction Maximize(Vector<Fraction> c,
         NumericMatrix<Fraction> a, Vector<Fraction> b) {
      if ((c == null) || (a == null) || (b == null)) {
         throw new NullPointerException();
      }
      if ((c.getLength() != a.getNoColumns())
            || (b.getLength() != a.getNoRows())) {
         throw new IllegalArgumentException();
      }
      NumericMatrix<Fraction> tojeterazjedno = new NumMatrix<Fraction>(a
            .getNoRows() + 1, a.getNoColumns() + a.getNoRows() + 1);
      Fraction[][] polevtjtj = new Fraction[tojeterazjedno.getNoRows()][tojeterazjedno
            .getNoColumns()];
      for (int i = 0; i < tojeterazjedno.getNoRows() - 1; i++) {
         for (int j = 0; j < tojeterazjedno.getNoColumns() - 1; j++) {
            if ((i < a.getNoRows()) && (j < a.getNoColumns())) {
               polevtjtj[i][j] = a.getElement(i, j);
            } else {
               if (j == (i + a.getNoColumns())) {
                  polevtjtj[i][j] = Fraction.ONE;
               } else {
                  polevtjtj[i][j] = Fraction.ZERO;
               }
            }
         }

      }
      for (int i = 0; i < tojeterazjedno.getNoColumns(); i++) {
         if (i < c.getLength()) {
            polevtjtj[tojeterazjedno.getNoRows() - 1][i] = c.getElement(i)
                  .negate();
         } else {
            polevtjtj[tojeterazjedno.getNoRows() - 1][i] = Fraction.ZERO;
         }
      }
      for (int i = 0; i < tojeterazjedno.getNoRows() - 1; i++) {
         polevtjtj[i][tojeterazjedno.getNoColumns() - 1] = b.getElement(i);
      }
      tojeterazjedno = new NumMatrix<Fraction>(polevtjtj);
      System.out.println(tojeterazjedno);
      boolean optimalne = true;
      for (int i = 0; i < tojeterazjedno.getNoColumns()-1; i++) {
         if (tojeterazjedno.getElement(tojeterazjedno.getNoRows() - 1, i)
               .compareTo(Fraction.ZERO) < 0) {
            optimalne = false;
            
         }

      }
      int stlpec=0;
      int riadok=0;
      boolean cyklus=true;
      ArrayList<Fraction> zoznam = new ArrayList<Fraction>();

      while (!optimalne) {
         for (int i = 1; i < tojeterazjedno.getNoColumns()-1; i++) {
            zoznam.add(tojeterazjedno.getElement(
                  tojeterazjedno.getNoRows() - 1, i));
         }
         Collections.sort(zoznam);
         cyklus=true;
         tu:
            if(cyklus){
         for (int i = 0; i < tojeterazjedno.getNoColumns()-1; i++) {
            if (tojeterazjedno
                  .getElement(tojeterazjedno.getNoRows() - 1, i).equals(
                        zoznam.get(0))) {
               stlpec = i;
               cyklus=false;
                   break tu;
            }
         }}
      
         zoznam.clear();
         for (int i = 0; i < a.getNoRows(); i++) {
            if (tojeterazjedno.getElement(i, stlpec)
                  .equals(Fraction.ZERO)){
               zoznam.add(new Fraction(Integer.MAX_VALUE));
            }else{
               zoznam.add(tojeterazjedno.getElement(i,
                     tojeterazjedno.getNoColumns() - 1).divide(
                     tojeterazjedno.getElement(i, stlpec)));
            }
         }
         Collections.sort(zoznam);
         cyklus=true;
         sem:
            if(cyklus){
         for (int i = 0; i < a.getNoRows(); i++) {
            if(tojeterazjedno.getElement(i, stlpec).equals(Fraction.ZERO)){
               
            }else{
            if (tojeterazjedno.getElement(i,
                  tojeterazjedno.getNoColumns() - 1).divide(
                  tojeterazjedno.getElement(i, stlpec)).equals(
                  zoznam.get(0))) {
               riadok = i;
               cyklus=false;
               break sem;
            
            }}
         }}
         
         zoznam.clear();
         for (int i = 0; i < tojeterazjedno.getNoRows(); i++) {
            if (i != riadok){
               if (!(tojeterazjedno.getElement(i, stlpec)
                     .equals(Fraction.ZERO))&&(!(tojeterazjedno.getElement(riadok, stlpec).equals(Fraction.ZERO)))) {
                  tojeterazjedno = tma.multiplyRowWithScalar(
                        tojeterazjedno, riadok, tojeterazjedno
                              .getElement(i, stlpec).divide(
                                    tojeterazjedno.getElement(
                                          riadok, stlpec))
                              .negate());
                  tojeterazjedno = tma.sumRows(tojeterazjedno, riadok, i);
               }
            }
         }
         tojeterazjedno=tma.multiplyRowWithScalar(tojeterazjedno, riadok, tojeterazjedno.getElement(riadok,stlpec).invert());
         System.out.println(tojeterazjedno);
         cyklus=true;
         optimalne = true;
         tuto:
            if(cyklus){
         for (int i = 0; i < tojeterazjedno.getNoColumns()-1; i++) {
            if (tojeterazjedno
                  .getElement(tojeterazjedno.getNoRows() - 1, i)
                  .compareTo(Fraction.ZERO) < 0) {
               optimalne = false;
               cyklus=false;
               break tuto;
            }

         }
            }
         
      }

      return null;
   }

}







_________________
Math is the best!
Offline

Skúsený užívateľ
Skúsený užívateľ
nekonečný cyklus v jave

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 01.01.2010 15:07

Skús si to debuggerom krokovať a kontroluj hodnoty premenných v priebehu výpočtu.







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
nekonečný cyklus v jave

Registrovaný: 02.12.06
Prihlásený: 23.03.24
Príspevky: 690
Témy: 35
Bydlisko: Rimavská So...
Príspevok Napísal autor témyOffline : 01.01.2010 16:58

díky naozaj to pomohlo je v cykle kde sa pridáva do zoznamu som mal int i=1 neviem prečo







_________________
Math is the best!
Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Nekonečný cyklus

v JavaScript, VBScript, Ajax

8

608

04.09.2011 9:49

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [pascal] nekonecny cyklus

v Assembler, C, C++, Pascal, Java

3

592

02.04.2010 13:24

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. da sa pouzit nekonecny cyklus na spustenie mesacneho cyklu?

v PHP, ASP

16

1030

16.10.2008 15:34

Roko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nekonecny virus ...

v Antivíry a antispywary

26

1324

11.07.2012 22:20

MaTT753 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nekonecny slide obrazkov

v JavaScript, VBScript, Ajax

9

612

27.05.2010 21:02

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Gigabyte P85-D3 nekonecny restart

v Intel čipové sady

2

459

10.07.2014 20:01

kub4n3c Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Intel dp67bg - nekonečný boot loop

v Intel čipové sady

5

436

30.06.2014 13:56

4ndY252 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [W10]zamrznutie, bsod a nekonecny loading

v Operačné systémy Microsoft

0

352

27.09.2015 20:59

tntckoo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Intel a 10 Nm - nekonečný príbeh

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Novinky

63

2775

03.01.2020 16:52

patro16 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. localhost background-image FF nekonečný refreš

v Ostatné

4

459

05.10.2011 19:35

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. VB - cyklus

v Delphi, Visual Basic

3

730

21.05.2009 11:19

Patkoo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. diagram cyklus

v Ostatné

2

364

13.06.2018 17:14

void Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vesmir nemoze byt nekonecny - taka halucinogenna uvaha

[ Choď na stránku:Choď na stránku: 1 ... 7, 8, 9 ]

v Vesmír, veda a technika

264

18162

12.11.2013 13:01

marian_r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C cyklus for

v Assembler, C, C++, Pascal, Java

10

824

26.11.2011 13:57

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP cyklus for

v PHP, ASP

8

529

20.11.2010 16:13

venom2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. JAVA, FOREACH CYKLUS

v Assembler, C, C++, Pascal, Java

2

594

25.08.2017 8:20

mitko Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra