Преглед изворни кода

more structure, found min/max X/Y points

master
mortie пре 7 година
родитељ
комит
0b439c79c9
4 измењених фајлова са 66 додато и 5 уклоњено
  1. 5
    0
      inf2440/hw4/Main.java
  2. 21
    5
      inf2440/hw4/Oblig4.java
  3. 5
    0
      inf2440/hw4/Parallel.java
  4. 35
    0
      inf2440/hw4/Sequential.java

+ 5
- 0
inf2440/hw4/Main.java Прегледај датотеку

System.out.println("Usage: java Main <n>"); System.out.println("Usage: java Main <n>");
System.exit(1); System.exit(1);
} }

NPunkter17 points = new NPunkter17(Integer.parseInt(args[0]));
Sequential s = new Sequential(points);
s.solve();
s.draw();
} }
} }

+ 21
- 5
inf2440/hw4/Oblig4.java Прегледај датотеку

abstract class Oblig4 { abstract class Oblig4 {
// Required for TegnUt // Required for TegnUt
public int x[];
public int y[];
public int n;
public int MAX_Y;
public int MAX_X;
int x[];
int y[];
int n;
int MAX_Y;
int MAX_X;


int minX;
int maxX;
int minY;
int maxY;
IntList coHull;
NPunkter17 points; NPunkter17 points;
String name = "Oblig4";


Oblig4(NPunkter17 points) { Oblig4(NPunkter17 points) {
this.points = points; this.points = points;
n = points.n;
x = new int[n];
y = new int[n];
coHull = new IntList();
points.fyllArrayer(x, y);
} }


abstract void solve(); abstract void solve();

void draw() {
TegnUt t = new TegnUt(this, coHull, name);
t.setVisible(true);
}
} }

+ 5
- 0
inf2440/hw4/Parallel.java Прегледај датотеку

class Parallel extends Oblig4 { class Parallel extends Oblig4 {
Parallel(NPunkter17 points) {
super(points);
name = "Parallel";
}

void solve() { void solve() {
System.out.println("Solving in parallel"); System.out.println("Solving in parallel");
} }

+ 35
- 0
inf2440/hw4/Sequential.java Прегледај датотеку

class Sequential extends Oblig4 { class Sequential extends Oblig4 {
Sequential(NPunkter17 points) {
super(points);
name = "Sequential";
}

@Override
void solve() { void solve() {
System.out.println("Solving sequentially"); System.out.println("Solving sequentially");
findMinMaxX();
MAX_X = x[maxX];
MAX_Y = y[maxY];

coHull.add(minX);
coHull.add(maxY);
coHull.add(maxX);
coHull.add(minY);
}

void findMinMaxX() {
minX = 0;
maxX = 0;
minY = 0;
maxY = 0;

for (int i = 1; i < n; ++i) {
int px = x[i];
if (px < x[minX])
minX = i;
if (px > x[maxX])
maxX = i;

int py = y[i];
if (py < y[minY])
minY = i;
if (py > y[maxY])
maxY = i;
}
} }
} }

Loading…
Откажи
Сачувај