public void KrijoAutomat() { bool mbaroi = true; int id = 1; Automati = new ArrayList(); do { Console.WriteLine("Fusni gjendjen e nisjes"); string gj1 = Console.ReadLine(); Console.WriteLine("Fusni shkronjene alfabetit"); string alf = Console.ReadLine(); Console.WriteLine("Fusni gjendjen e mberritjes"); string gj2 = Console.ReadLine(); //k.KrijoKalim(id, gj1, alf, gj2); Kalimet k = new Kalimet(id, gj1, alf, gj2); Automati.Add(k); //k.afisho(); id++; Console.WriteLine("Deshironi te fusni kalim tjt?"); Console.WriteLine("Nqs po shtyp 'Y' perndryshe 'N'"); string Pergjigje = Console.ReadLine(); if (Pergjigje.ToUpper() == "N") { mbaroi = false; } } while (mbaroi); }
//public ArrayList KontrollEpsilon1prov(string gj, string epsilon) //{ // ArrayList gjendjeepsilon1prov = new ArrayList(); // Kalimet kalimetObject = new Kalimet(); // Gjendje gjendje = new Gjendje(); // foreach (var i in Automati) // { // kalimetObject = (Kalimet)i; // if (gj == kalimetObject.gjendjanisjes && epsilon == kalimetObject.alfabetkalimi) // { // gjendjeepsilon1prov.Add(kalimetObject.gjendjemberritjes); // } // } // return gjendjeepsilon1prov; //} public ArrayList KontrollEpsilonperseritje(Gjendje gjendjetepsilon1, string epsilon) { ArrayList gjendjeepsilonndryshime = new ArrayList(); Kalimet kalimetObject = new Kalimet(); Gjendje gjendje = new Gjendje(); foreach (var gjen in gjendjetepsilon1._gjendje) { foreach (var i in Automati) { kalimetObject = (Kalimet)i; if (gjen == kalimetObject.gjendjanisjes) { if (epsilon == kalimetObject.alfabetkalimi) { string gjendjare = kalimetObject.gjendjemberritjes; if (gjendjetepsilon1._gjendje.Contains(gjendjare)) { gjendjeepsilonndryshime.Add(kalimetObject.gjendjemberritjes); } } else { gjendjeepsilonndryshime.Add(gjen); } } } } return(gjendjeepsilonndryshime); }
public void AfishoKalime() { Kalimet kalimetObject = new Kalimet(); foreach (var i in Automati) { kalimetObject = (Kalimet)i; Console.WriteLine(kalimetObject.afisho()); //Console.WriteLine (kalimetObject.gjendjanisjes); } }
public ArrayList KontrollEpsilon1(Gjendje GjendjeteAutomatit, string epsilon) { ArrayList gjendjeepsilon1 = new ArrayList(); Kalimet kalimetObject = new Kalimet(); Gjendje gjendje = new Gjendje(); foreach (var gjen in GjendjeteAutomatit._gjendje) { foreach (var i in Automati) { kalimetObject = (Kalimet)i; if (gjen == kalimetObject.gjendjanisjes && epsilon == kalimetObject.alfabetkalimi) { gjendjeepsilon1.Add(kalimetObject.gjendjemberritjes.ToString()); } } } return(gjendjeepsilon1); }
public ArrayList Kontrollalfabet(string alfabet, Gjendje Gjendjeepsilon) { ArrayList gjendjealfabet = new ArrayList(); Kalimet kalimetObject = new Kalimet(); Gjendje gjendje = new Gjendje(); foreach (var gje in Gjendjeepsilon._gjendje) { foreach (var i in Automati) { kalimetObject = (Kalimet)i; if (gje == kalimetObject.gjendjanisjes && alfabet == kalimetObject.alfabetkalimi) { gjendjealfabet.Add(kalimetObject.gjendjemberritjes.ToString()); } } } return(gjendjealfabet); }
public void Konvertohappashapi(Gjendje gjendjetautomatit, Alfabet alfabetiautomatit) { string eps = "e"; Kalimet kalimetObject = new Kalimet(); ArrayList gjendjeepsilon1prv = new ArrayList(); Gjendje gjendje; int count = 0; string gje = ""; int gjendjapozicion = 1; foreach (var i in gjendjetautomatit._gjendje) { count++; } //for(int i=0;i<count;i++) //{ // // foreach (gje in gjendjetautomatit.getgjendja(i)); // gje = gjendjetautomatit.getgjendja(i);//per cdo gjendje te automatit bejme // { // foreach (var j in Automati) // { // kalimetObject = (Kalimet)j; // kontrollpernjegjendje(gje, eps); // } // } //} while (gjendjapozicion < count) { gje = gjendjetautomatit.getgjendja(gjendjapozicion);//per cdo gjendje te automatit bejme { kontrollpernjegjendje(gje, eps); gjendjapozicion++; } } }
static void Main(string[] args) { string _gjendjeNisje = string.Empty, _characterAlfabet = string.Empty, _gjendjeFundore = string.Empty; List <string> _kalimetAfterConverting = new List <string>(); List <string> _kalimetForRemovingAfterUpdate = new List <string>(); List <string> _alfabetiCharacters = new Alfabet().MbushMeShkronja(); List <string> _gjendjeList = new Gjendje().FutGJendjet(); List <string> _kalimetList = new Kalimet().MbushmeKalime(); for (int i = 0; i < _kalimetList.Count(); i++) { string _kalim = _kalimetList[i]; _gjendjeNisje = _kalim.Substring(0, 2); _characterAlfabet = _kalim.Substring(2, 1); _gjendjeFundore = _kalim.Substring(3, 2); if (_gjendjeNisje.Equals(_gjendjeFundore)) { _kalimetMeGjendjeNisjeEdheGjendjeFundoreTeNJejte.Add(_kalim); _kalimetList.Remove(_kalim); // heq ato qe jane te njejta i--; continue; } } for (int i = 0; i < _kalimetList.Count(); i++) { string _kalim = _kalimetList[i]; _gjendjeNisje = _kalim.Substring(0, 2); _characterAlfabet = _kalim.Substring(2, 1); _gjendjeFundore = _kalim.Substring(3, 2); List <string> _listWithoutFirstKalim = _kalimetList.Where(x => x.ToString() != _kalim).ToList(); for (int j = 0; j < _listWithoutFirstKalim.Count(); j++) { string _kalimSecond = _listWithoutFirstKalim[j]; if (_gjendjeFundore.Equals(_kalimSecond.Substring(0, 2)) && _characterAlfabet.Equals(_kalimSecond.Substring(2, 1))) { _kalimetList.Add($"{_gjendjeNisje}{_characterAlfabet}{_kalimSecond.Substring(3, 2)}"); continue; } if (_gjendjeFundore.Equals(_kalimSecond.Substring(0, 2)) && _characterAlfabet.Equals("e")) { _kalimetList.Add($"{_gjendjeNisje}{_kalimSecond.Substring(2, 1)}{_kalimSecond.Substring(3, 2)}"); _kalimetList.Add($"{_gjendjeNisje}{_kalimSecond.Substring(2, 1)}{_gjendjeFundore}"); _kalimetForRemovingAfterUpdate.Add(_kalim); } } } _kalimetList = _kalimetList.Except(_kalimetForRemovingAfterUpdate).OrderBy(x => x.ToString()).ToList(); _kalimetList.AddRange(_kalimetMeGjendjeNisjeEdheGjendjeFundoreTeNJejte); List <string> _listWithoutRepetition = _kalimetList.Distinct().ToList(); List <string> _listKalimeConverted = ChangeEpsilonToAlphabetCharacters(_listWithoutRepetition); _listWithoutRepetition.AddRange(_listKalimeConverted); _listWithoutRepetition.RemoveAll(x => x.Contains("e")); foreach (string _kalimNew in _listWithoutRepetition.Distinct().OrderBy(x => x.ToString())) { Console.WriteLine($"{_kalimNew.Substring(0, 2)} --- {_kalimNew.Substring(2, 1)} --- { _kalimNew.Substring(3, 2)}"); } Console.ReadLine(); }