Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace PMPHF008_P99J7Y
- {
- internal class PMPHF008_P99J7Y
- {
- static void Main(string[] args)
- {
- string S = Console.ReadLine();
- string[] parts = S.Split(" ");
- string utasitas = parts[0];
- List<string> letter = new List<string>();
- int[] feszultsegek1 = new int[5];
- int[] feszultsegek2 = new int[5];
- string[,] matrixVoltage = new string[2, 5];
- //Használadnó jelsorozat nevének eltárolása listában
- if (parts.Length - 1 == 2)
- {
- letter.Add(parts[1]);
- letter.Add(parts[2]);
- }
- else if (parts.Length - 1 == 1)
- {
- letter.Add(parts[1]);
- }
- string lines = "";
- bool felvantoltve = false;
- bool igaz1 = false;
- bool igaz2 = false;
- //Bemenet felosztása kettesével és tömbökbe töltése
- #region Számok párba állítása
- while (felvantoltve != true)
- {
- lines = Console.ReadLine();
- for (int i = 0; i < letter.Count; i++)
- {
- if (letter.Count == 2)
- {
- if (lines.Split(" ")[0] == letter[0])
- {
- int index = 0;
- for (int j = 0; j < lines.Split(" ")[1].Length; j += 2)
- {
- string eleje = lines.Split(" ")[1].Substring(j, 2);
- int kettesszamok = int.Parse(eleje);
- feszultsegek1[index] = kettesszamok;
- index++;
- igaz1 = true;
- }
- }
- if (lines.Split(" ")[0] == letter[1])
- {
- int index = 0;
- for (int j = 0; j < lines.Split(" ")[1].Length; j += 2)
- {
- string eleje = lines.Split(" ")[1].Substring(j, 2);
- int kettesszamok = int.Parse(eleje);
- feszultsegek2[index] = kettesszamok;
- index++;
- igaz2 = true;
- }
- }
- if (igaz1 == true && igaz2 == true)
- felvantoltve = true;
- }
- else if (letter.Count == 1)
- {
- if (lines.Split(" ")[0] == letter[i])
- {
- int index = 0;
- for (int j = 0; j < lines.Split(" ")[1].Length; j += 2)
- {
- string eleje = lines.Split(" ")[1].Substring(j, 2);
- int kettesszamok = int.Parse(eleje);
- feszultsegek1[index] = kettesszamok;
- index++;
- }
- felvantoltve = true;
- }
- }
- }
- }
- #endregion Számok párba állítása
- //Feszültségek átkonvertálása és tárolása listákban
- #region Átkonvertálás
- if (letter.Count == 2)
- {
- for (int k = 0; k < feszultsegek1.Length; k++)
- {
- if (feszultsegek1[k] >= 0 && feszultsegek1[k] <= 8)
- {
- matrixVoltage[0, k] = "0";
- }
- else if (feszultsegek1[k] >= 27 && feszultsegek1[k] <= 50)
- {
- matrixVoltage[0, k] = "1";
- }
- else
- {
- matrixVoltage[0, k] = "E";
- }
- }
- for (int k = 0; k < feszultsegek2.Length; k++)
- {
- if (feszultsegek2[k] >= 0 && feszultsegek2[k] <= 8)
- {
- matrixVoltage[1, k] = "0";
- }
- else if (feszultsegek2[k] >= 27 && feszultsegek2[k] <= 50)
- {
- matrixVoltage[1, k] = "1";
- }
- else
- {
- matrixVoltage[1, k] = "E";
- }
- }
- }
- else if (letter.Count == 1)
- {
- for (int k = 0; k < feszultsegek1.Length; k++)
- {
- if (feszultsegek1[k] >= 0 && feszultsegek1[k] <= 8)
- {
- matrixVoltage[0, k] = "0";
- }
- else if (feszultsegek1[k] >= 27 && feszultsegek1[k] <= 50)
- {
- matrixVoltage[0, k] = "1";
- }
- else
- {
- matrixVoltage[0, k] = "E";
- }
- }
- }
- #endregion Átkonvertálás
- Console.Clear();
- //Logikai kapuk alapján való kiiratás
- #region Logikai Kapuk
- if (utasitas == "AND")
- {
- for (int i = 0; i < matrixVoltage.GetLength(1); i++)
- {
- if (matrixVoltage[0, i] == matrixVoltage[1, i] && matrixVoltage[0, i] == "1")
- {
- Console.Write("1");
- }
- else if (matrixVoltage[1, i] == "E" || matrixVoltage[0, i] == "E")
- {
- Console.Write("E");
- }
- else
- {
- Console.Write(0);
- }
- }
- }
- else if (utasitas == "OR")
- {
- for (int i = 0; i < matrixVoltage.GetLength(1); i++)
- {
- if (matrixVoltage[0, i] == "1" || matrixVoltage[1, i] == "1" && matrixVoltage[0, i] != "E" && matrixVoltage[1, i] != "E")
- {
- Console.Write("1");
- }
- else if (matrixVoltage[1, i] == "E" || matrixVoltage[0, i] == "E")
- {
- Console.Write("E");
- }
- else
- {
- Console.Write(0);
- }
- }
- }
- else if (utasitas == "NOT")
- {
- for (int i = 0; i < matrixVoltage.GetLength(1); i++)
- {
- if (matrixVoltage[0, i] == "0")
- {
- Console.Write("1");
- }
- else if (matrixVoltage[0, i] == "1")
- {
- Console.Write("0");
- }
- else
- {
- Console.Write("E");
- }
- }
- }
- if (utasitas == "NAND")
- {
- for (int i = 0; i < matrixVoltage.GetLength(1); i++)
- {
- if (matrixVoltage[0, i] == "1" && matrixVoltage[1, i] == "1")
- {
- Console.Write("0");
- }
- else if (matrixVoltage[1, i] == "E" || matrixVoltage[0, i] == "E")
- {
- Console.Write("E");
- }
- else
- {
- Console.Write("1");
- }
- }
- }
- if (utasitas == "NOR")
- {
- for (int i = 0; i < matrixVoltage.GetLength(1); i++)
- {
- if (matrixVoltage[0, i] == "0" && matrixVoltage[1, i] == "0")
- {
- Console.Write("1");
- }
- else if (matrixVoltage[1, i] == "E" || matrixVoltage[0, i] == "E")
- {
- Console.Write("E");
- }
- else
- {
- Console.Write("0");
- }
- }
- }
- else if (utasitas == "XOR")
- {
- for (int i = 0; i < matrixVoltage.GetLength(1); i++)
- {
- if (matrixVoltage[0, i] != matrixVoltage[1, i] && matrixVoltage[0, i] != "E" && matrixVoltage[1, i] != "E")
- {
- Console.Write("1");
- }
- else if (matrixVoltage[1, i] == "E" || matrixVoltage[0, i] == "E")
- {
- Console.Write("E");
- }
- else
- {
- Console.Write(0);
- }
- }
- }
- else if (utasitas == "XNOR")
- {
- for (int i = 0; i < matrixVoltage.GetLength(1); i++)
- {
- if (matrixVoltage[0, i] == matrixVoltage[1, i] && matrixVoltage[0, i] != "E" && matrixVoltage[1, i] != "E")
- {
- Console.Write("1");
- }
- else if (matrixVoltage[1, i] == "E" || matrixVoltage[0, i] == "E")
- {
- Console.Write("E");
- }
- else
- {
- Console.Write(0);
- }
- }
- }
- #endregion Logikai Kapuk
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement