Browse Source

more structure, found min/max X/Y points

master
mortie 7 years ago
parent
commit
0b439c79c9
4 changed files with 66 additions and 5 deletions
  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 View File

@@ -4,5 +4,10 @@ class Main {
System.out.println("Usage: java Main <n>");
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 View File

@@ -1,16 +1,32 @@
abstract class Oblig4 {
// 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;
String name = "Oblig4";

Oblig4(NPunkter17 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();

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

+ 5
- 0
inf2440/hw4/Parallel.java View File

@@ -1,4 +1,9 @@
class Parallel extends Oblig4 {
Parallel(NPunkter17 points) {
super(points);
name = "Parallel";
}

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

+ 35
- 0
inf2440/hw4/Sequential.java View File

@@ -1,5 +1,40 @@
class Sequential extends Oblig4 {
Sequential(NPunkter17 points) {
super(points);
name = "Sequential";
}

@Override
void solve() {
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…
Cancel
Save