Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DenKortasteVagen
- {
- //mellanstationer returnerar en vektor med de mellanstationer som finns p� den kortaste
- //v�gen. Ordningsnummer av den f�rsta mellanstationen finns p� index 1, och ordningsnummer
- //av den andra mellanstationen p� index 2 i vektorn.
- public static int[] mellanstationer (double[] a, double[][] b, double[] c)
- {
- //Skapa en 2D array innehållande alla längder
- double[][] langder = new double[a.length][b[0].length];
- for(int u = 0; u < a.length; u++)
- {
- for(int v = 0; v < b[0].length; v++)
- {
- langder[u][v] = a[u] + b[u][v] + c[v];
- }
- }
- //Hitta den kortaste längden i arrayen
- double kortaste_vagen = 0;
- for(int i = 0; i < langder.length; i++)
- {
- for(int x = 0; x < langder[0].length - 1; x++)
- {
- if(langder[i][x] > langder[i][x + 1])
- {
- kortaste_vagen = langder[i][x + 1];
- }
- }
- }
- //Hitta mellanstationerna
- int[] mellanstationer = new int[3];
- mellanstationer[0] = 0;
- for(int i = 0; i < langder.length; i++)
- {
- for(int x = 0; x < langder[0].length; x++)
- {
- if(langder[i][x] == kortaste_vagen)
- {
- mellanstationer[1] = i + 1;
- mellanstationer[2] = x + 1;
- }
- }
- }
- return mellanstationer;
- }
- //langd returnerar langden av den kortaste vagen.
- public static double langd(double[] a, double[][] b, double[] c)
- {
- //Skapa en 2D array innehållande alla längder
- double[][] langder = new double[a.length][b[0].length];
- for(int u = 0; u < a.length; u++)
- {
- for(int v = 0; v < b[0].length; v++)
- {
- langder[u][v] = a[u] + b[u][v] + c[v];
- }
- }
- //Hitta den kortaste längden i arrayen
- double kortaste_vagen = 0;
- for(int i = 0; i < langder.length; i++)
- {
- for(int x = 0; x < langder[0].length - 1; x++)
- {
- if(langder[i][x] > langder[i][x + 1])
- kortaste_vagen = langder[i][x + 1];
- }
- }
- return kortaste_vagen;
- }
- public static void main(String[] args)
- {
- double[] a = {2.2, 4, 3};
- double[][] b = {
- {3, 4.1, 3.2, 6},
- {7, 4.2, 2.4, 6},
- {5, 3.2, 1.8, 2}
- };
- double[] c = {3.6, 2.4, 2, 4};
- System.out.println(langd(a, b, c));
- int[] e = mellanstationer(a, b, c);
- System.out.println("Mellanstation 1: " + e[1]);
- System.out.println("Mellanstation 2: " + e[2]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement