public List<string> PutCiklus(Kvart start, List<Ruta> Rute, int BrStanica) { BrStanica++; var rute = Stanice(start, BrStanica,Rute); List<string> cycles = new List<string>(); foreach(string ruta in rute) { var result = ruta.Substring(ruta.LastIndexOf('-') + 1); int count = ruta.Split('-').Length -1 ; if((result == start.KvartIme)&&(count > 2)) { cycles.Add(ruta); } } return cycles; }
//konstruktor public Ruta(Kvart start, Kvart kraj, int duljina) { Start = start; Kraj = kraj; Duljina = duljina; }
public Kvart[] SusjedniKvartovi(Kvart start, List<Ruta> Rute) { return (from ruta in Rute where ruta.Start.KvartIme == start.KvartIme select ruta.Kraj).ToArray<Kvart>(); }
// // GET: /METRO-4/Details/5 public JsonResult metro4Post(MyModel4 request) { string ulaznaDatoteka = (string)TempData["Metro"]; // Mapa metro = new Mapa("ZagrebMetro", ulaznaDatoteka); List<Ruta> Lista = new List<Ruta>() { new Ruta(new Kvart("MAKSIMIR"), new Kvart("SIGET"),5), new Ruta(new Kvart("SIGET"),new Kvart("SPANSKO"),4), new Ruta(new Kvart("SPANSKO"),new Kvart("MEDVESCAK"),8), new Ruta(new Kvart("MEDVESCAK"),new Kvart("SPANSKO"), 8), new Ruta(new Kvart("MEDVESCAK"),new Kvart("DUBRAVA"),6), new Ruta(new Kvart("MAKSIMIR"), new Kvart("MEDVESCAK"),5), new Ruta(new Kvart("SPANSKO"),new Kvart("DUBRAVA"), 2), new Ruta(new Kvart("DUBRAVA"),new Kvart("SIGET"),3), new Ruta(new Kvart("MAKSIMIR"),new Kvart("DUBRAVA"),7) }; //List<Ruta> Lista = metro.KonstrukcijaRuta(); List<Ruta> r = new List<Ruta>(); foreach (Ruta ru in Lista) { r.Add(ru); } MyModel5 model = new MyModel5() { stops = new string[] { request.stations.start, request.stations.end }, count = 0 }; Kvart start = new Kvart(request.stations.start); Kvart kraj = new Kvart(request.stations.end); List<string> rez = model.PutBezCiklusa(start, kraj,Lista); //return View("zagrebPost"); return Json(rez, JsonRequestBehavior.AllowGet); }
public ActionResult metro3Get(string S) { string ulaznaDatoteka = (string)TempData["Metro"]; // Mapa metro = new Mapa("ZagrebMetro", ulaznaDatoteka); List<Ruta> Lista = new List<Ruta>() { new Ruta(new Kvart("MAKSIMIR"), new Kvart("SIGET"),5), new Ruta(new Kvart("SIGET"),new Kvart("SPANSKO"),4), new Ruta(new Kvart("SPANSKO"),new Kvart("MEDVESCAK"),8), new Ruta(new Kvart("MEDVESCAK"),new Kvart("SPANSKO"), 8), new Ruta(new Kvart("MEDVESCAK"),new Kvart("DUBRAVA"),6), new Ruta(new Kvart("MAKSIMIR"), new Kvart("MEDVESCAK"),5), new Ruta(new Kvart("SPANSKO"),new Kvart("DUBRAVA"), 2), new Ruta(new Kvart("DUBRAVA"),new Kvart("SIGET"),3), new Ruta(new Kvart("MAKSIMIR"),new Kvart("DUBRAVA"),7) }; //List<Ruta> Lista = metro.KonstrukcijaRuta(); List<Ruta> r = new List<Ruta>(); foreach (Ruta ru in Lista) { r.Add(ru); } MyModel3 model = new MyModel3() { roudtrips = new string[] {""}, count = 0 }; string QueryString = Request.QueryString["S"]; Kvart unos = new Kvart(QueryString); List<string> rez = model.PutCiklus(unos,r,3); model.count = rez.Count(); model.roudtrips = rez.ToArray<string>(); // return Json(model, JsonRequestBehavior.AllowGet); return View("METRO3Get"); }
public List <string> PutCiklus(Kvart start, List <Ruta> Rute, int BrStanica) { BrStanica++; var rute = Stanice(start, BrStanica, Rute); List <string> cycles = new List <string>(); foreach (string ruta in rute) { var result = ruta.Substring(ruta.LastIndexOf('-') + 1); int count = ruta.Split('-').Length - 1; if ((result == start.KvartIme) && (count > 2)) { cycles.Add(ruta); } } return(cycles); }
public void PutCiklusTest() { //arrange var Lista = new List<Ruta>() { new Ruta(new Kvart("MAKSIMIR"), new Kvart("SIGET"),5), new Ruta(new Kvart("SIGET"),new Kvart("SPANSKO"),4), new Ruta(new Kvart("SPANSKO"),new Kvart("MEDVESCAK"),8), new Ruta(new Kvart("MEDVESCAK"),new Kvart("SPANSKO"), 8), new Ruta(new Kvart("MEDVESCAK"),new Kvart("DUBRAVA"),6), new Ruta(new Kvart("MAKSIMIR"), new Kvart("MEDVESCAK"),5), new Ruta(new Kvart("SPANSKO"),new Kvart("DUBRAVA"), 2), new Ruta(new Kvart("DUBRAVA"),new Kvart("SIGET"),3), new Ruta(new Kvart("MAKSIMIR"),new Kvart("DUBRAVA"),7) }; Kvart request = new Kvart("SPANSKO"); List<string> expected = new List<string>() { "SPANSKO-MEDVESCAK-SPANSKO","SPANSKO-DUBRAVA-SIGET-SPANSKO" }; //act MyModel3 result1 = new MyModel3 { roudtrips = new string[] { "" }, count = 0, }; List<string> res = result1.PutCiklus(request, Lista, 3); //assert Assert.AreEqual<List<string>>(expected, res); }
public List<Ruta> KonstrukcijaRuta() { List<Ruta> Rute = new List<Ruta>(); string[] sp = this.Izvor.Split(','); foreach (string dataItem in sp) { var results = dataItem.Split('-'); string a = results[0]; string b = results[1]; var dot = b.Split(':'); string c = dot[0]; var d = dot[1]; int duljina = Int32.Parse(d); Kvart kvart1 = new Kvart(a); Kvart kvart2 = new Kvart(c); Ruta temp = new Ruta(kvart1, kvart2, duljina); Rute.Add(temp); } return Rute; }
public List <string> PutBezCiklusa(Kvart start, Kvart kraj, List <Ruta> Rute) { int brStanica = 4; var rute = Stanice(start, kraj, brStanica, Rute); List <string> Noncycles = new List <string>(); foreach (string ruta in rute) { var result = ruta.Substring(ruta.LastIndexOf('-') + 1); int count = ruta.Split('-').Length - 1; if (count == 3) { int i = ruta.LastIndexOf('-'); string ss = ruta.Substring(0, i) + result; Noncycles.Add(ss); } } return(Noncycles); }
public List<string> Stanice(Kvart start, int brStanica, List<Ruta> Rute) { string[] result = new string[] { }; List<string> podruta = new List<string>(); Kvart[] susjedni = SusjedniKvartovi(start, Rute); foreach (Kvart r in susjedni) { if (brStanica - 1 > 0) { List<string> podRuta = Stanice(r, brStanica - 1, Rute); foreach (string ru in podRuta) { podruta.Add(start.KvartIme + "-" + ru); } } else podruta.Add(start.KvartIme); } return podruta; }
public List<string> Stanice(Kvart start, Kvart kraj, int brStanica, List<Ruta> Rute) { string[] result = new string[] { }; List<string> podruta = new List<string>(); Kvart[] susjedni = SusjedniKvartovi(start, Rute); foreach (Kvart r in susjedni) { if (brStanica - 1 > 1) { List<string> podRuta = Stanice(r, kraj, brStanica - 1, Rute); foreach (string ru in podRuta) { podruta.Add(r.KvartIme + "-" + ru); } } if (brStanica - 1 == 1 ) { List<string> podRuta = Stanice(r, kraj, brStanica - 1, Rute); foreach (string ru in podRuta) { podruta.Add(r.KvartIme); } } if (brStanica - 1 == 0) { List<string> podRuta = Stanice(r, kraj, brStanica - 1, Rute); } else if (r.KvartIme != kraj.KvartIme) { Kvart[] susjedniZadnjeg = SusjedniKvartovi(r, Rute); foreach (Kvart z in susjedniZadnjeg) { if (z.KvartIme == kraj.KvartIme) podruta.Add("-"+r.KvartIme); } } } return podruta; }
public List<string> PutBezCiklusa(Kvart start, Kvart kraj, List<Ruta> Rute) { int brStanica = 4; var rute = Stanice(start, kraj, brStanica , Rute); List<string> Noncycles = new List<string>(); foreach (string ruta in rute) { var result = ruta.Substring(ruta.LastIndexOf('-') + 1); int count = ruta.Split('-').Length - 1; if ( count == 3) { int i = ruta.LastIndexOf('-'); string ss = ruta.Substring(0,i) + result; Noncycles.Add(ss); } } return Noncycles; }