Advertisement
prampec

Oktatás feladatmegoldások

Jun 7th, 2019
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 12.21 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Oktatas
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             new Program().f913();
  10.             // new Oktatas.Mistermind().run();
  11.             // new Oktatas.Akasztofa().run();
  12.         }
  13.  
  14.         void example1()
  15.         {
  16.             Console.WriteLine("Hello World!");
  17.         }
  18.         void example2()
  19.         {
  20.             Console.Write("Write your name:");
  21.             string name = Console.ReadLine();
  22.             Console.WriteLine("Hello " + name);
  23.         }
  24.         void example3()
  25.         {
  26.             int n1 = 1234;
  27.             int n2 = 5678;
  28.             int result = n1 + n2;
  29.             Console.WriteLine("Sum is " + result);
  30.         }
  31.         void example4()
  32.         {
  33.             Console.Write("Enter a number:");
  34.             int n1 = System.Convert.ToInt32(Console.ReadLine());
  35.             Console.Write("Enter second number:");
  36.             int n2 = System.Convert.ToInt32(Console.ReadLine());
  37.             int result = n1 + n2;
  38.             Console.WriteLine("Sum is " + result);
  39.         }
  40.         void example5()
  41.         {
  42.             Console.Write("Enter a number:");
  43.             int n1 = System.Convert.ToInt32(Console.ReadLine());
  44.             Console.Write("Enter second number:");
  45.             int n2 = System.Convert.ToInt32(Console.ReadLine());
  46.             if (n2 == 0)
  47.             {
  48.                 Console.WriteLine("Cannot divide with zero");
  49.             }
  50.             else
  51.             {
  52.                 int result = n1 / n2;
  53.                 Console.WriteLine("The result of the division is " + result);
  54.             }
  55.         }
  56.         void f511()
  57.         {
  58.             Console.Write("Write your name: ");
  59.  
  60.             string name = Console.ReadLine();
  61.             if (name.Length >= 3)
  62.             {
  63.                 Console.WriteLine("Hello " + name);
  64.             }
  65.             else
  66.             {
  67.                 Console.WriteLine("Name should be at least 3 characters long.");
  68.             }
  69.         }
  70.         void f512()
  71.         {
  72.             Console.Write("Enter the password: ");
  73.             string pass = Console.ReadLine();
  74.             if (pass == "poi")
  75.             {
  76.                 Console.WriteLine("The secret is: 'knowledge'");
  77.             }
  78.             else
  79.             {
  80.                 Console.WriteLine("Wrong password!");
  81.             }
  82.         }
  83.         void example6()
  84.         {
  85.             for (int i = 0; i < 10; i++)
  86.             {
  87.                 Console.Write(" " + i);
  88.             }
  89.             Console.WriteLine();
  90.         }
  91.         void example7()
  92.         {
  93.             int i = 0;
  94.             while (i < 10)
  95.             {
  96.                 Console.Write(" " + i);
  97.                 i = i + 1;
  98.             }
  99.             Console.WriteLine();
  100.         }
  101.         void f523()
  102.         {
  103.             Console.Write("Meddig számoljunk? ");
  104.             int n1 = System.Convert.ToInt32(Console.ReadLine());
  105.             int i = 0;
  106.             while (i < n1)
  107.             {
  108.                 Console.Write(" " + i);
  109.                 i = i + 1;
  110.             }
  111.             Console.WriteLine();
  112.         }
  113.         void f524a()
  114.         {
  115.             Console.Write("Meddig számoljunk? ");
  116.             ulong n1 = System.Convert.ToUInt64(Console.ReadLine());
  117.             ulong i = 1;
  118.             ulong sum = 0;
  119.             while (i < n1)
  120.             {
  121.                 i = i + 1;
  122.                 sum += i;
  123.             }
  124.             Console.WriteLine("A számok összege 1-től " + n1 + "-ig: " + sum);
  125.         }
  126.         void f524b()
  127.         {
  128.             Console.Write("Meddig számoljunk? ");
  129.             ulong n1 = System.Convert.ToUInt64(Console.ReadLine());
  130.             ulong i = 1;
  131.             ulong sum = 0;
  132.             while (sum <= n1)
  133.             {
  134.                 i = i + 1;
  135.                 sum += i;
  136.             }
  137.             Console.WriteLine("A számok összege 1-től " + i + "-ig: " + sum);
  138.         }
  139.         void szamjatek_f525a()
  140.         {
  141.             Console.WriteLine("Gondolj egy számra 1 és 100 között!");
  142.             int max = 101;
  143.             int min = 0;
  144.             while (true)
  145.             {
  146.                 int mid = min + ((max - min) / 2);
  147.                 Console.WriteLine("Nagyobb mint " + mid + "? (I/N) ");
  148.                 string answer = Console.ReadLine();
  149.                 if ((answer == "I") || (answer == "i"))
  150.                 {
  151.                     min = mid;
  152.                 }
  153.                 else
  154.                 {
  155.                     max = mid + 1;
  156.                 }
  157.                 if ((min + 2) == max)
  158.                 {
  159.                     Console.WriteLine("A(z) " + (min + 1) + " számra gondoltál.");
  160.                     break;
  161.                 }
  162.             }
  163.         }
  164.         void szamjatek_f525b()
  165.         {
  166.             Random rnd = new Random();
  167.             int num = rnd.Next(100) + 1;
  168.             Console.WriteLine("Gondoltam egy számra 1 és 100 között!");
  169.             while (true)
  170.             {
  171.                 Console.Write("Szerinted melyik számra gondoltam? ");
  172.                 int guess = System.Convert.ToInt32(Console.ReadLine());
  173.                 if (guess == num)
  174.                 {
  175.                     Console.WriteLine("Igen, eltaláltad! A(z) " + num + " számra gondoltam.");
  176.                     break;
  177.                 }
  178.                 else if (guess < num)
  179.                 {
  180.                     Console.WriteLine(guess + "-nél(nál) nagyobb számra gondoltam");
  181.                 }
  182.                 else if (guess > num)
  183.                 {
  184.                     Console.WriteLine(guess + "-nél(nál) kisebb számra gondoltam");
  185.                 }
  186.             }
  187.         }
  188.         void f526()
  189.         {
  190.             int probalkozasokSzama = 0;
  191.             while (true)
  192.             {
  193.                 Console.Write("Enter the password: ");
  194.                 string pass = Console.ReadLine();
  195.                 if (pass == "poi")
  196.                 {
  197.                     Console.WriteLine("The secret is: 'knowledge'");
  198.                     break;
  199.                 }
  200.  
  201.                 Console.WriteLine("Wrong password!");
  202.                 probalkozasokSzama += 1;
  203.                 if (probalkozasokSzama >= 3)
  204.                 {
  205.                     Console.WriteLine("Too many failed tries. You are banned.");
  206.                     break;
  207.                 }
  208.             }
  209.         }
  210.  
  211.         void example8()
  212.         {
  213.             char[] letters = { 'r', 'e', 'd' };
  214.             Random rnd = new Random();
  215.             for (int i = 0; i < 4; i++)
  216.             {
  217.                 int index = rnd.Next(letters.Length);
  218.                 char letter = letters[index];
  219.                 Console.Write(letter);
  220.             }
  221.             Console.WriteLine();
  222.         }
  223.         void f612()
  224.         {
  225.             char[] mgh = "euioa".ToCharArray();
  226.             char[] msh = "qwrtypsdfghjklzxcvbnm".ToCharArray();
  227.             Random rnd = new Random();
  228.             for(int a = 0; a < 12; a++)
  229.             {
  230.                 int len = rnd.Next(7) + 3;
  231.                 for (int i = 0; i < len; i++)
  232.                 {
  233.                     char[] letters = ((i % 2) == 0) ? msh : mgh;
  234.                     int index = rnd.Next(letters.Length);
  235.                     char letter = letters[index];
  236.                     Console.Write(letter);
  237.                 }
  238.                 Console.WriteLine();
  239.             }
  240.         }
  241.         public struct Vector
  242.         {
  243.             public int x;
  244.             public int y;
  245.         };
  246.         void example9()
  247.         {
  248.             Vector[] vectors = new Vector[3];
  249.             for (int i = 0; i < vectors.Length; i++)
  250.             {
  251.                 Console.Write("X: ");
  252.                 vectors[i].x = System.Convert.ToInt32(Console.ReadLine());
  253.                 Console.Write("Y: ");
  254.                 vectors[i].y = System.Convert.ToInt32(Console.ReadLine());
  255.                 Console.WriteLine();
  256.             }
  257.  
  258.             Vector result;
  259.             result.x = 0;
  260.             result.y = 0;
  261.             foreach (Vector v in vectors)
  262.             {
  263.                 result.x += v.x;
  264.                 result.y += v.y;
  265.             }
  266.             Console.WriteLine("Result is [" + result.x + ", " + result.y + "]");
  267.         }
  268.         struct Credential
  269.         {
  270.             public string name;
  271.             public string password;
  272.         };
  273.         void example10()
  274.         {
  275.             Credential[] logins = new Credential[2];
  276.  
  277.             logins[0].name = "john";
  278.             logins[0].password = "secure";
  279.  
  280.             logins[1].name = "bob";
  281.             logins[1].password = "pass";
  282.  
  283.             Console.Write("Login: ");
  284.             string nameEntered = Console.ReadLine();
  285.             Console.Write("Password: ");
  286.             string passwordEntered = Console.ReadLine();
  287.  
  288.             for (int i = 0; i < logins.Length; i++)
  289.             {
  290.                 if ((nameEntered == logins[i].name) && (passwordEntered == logins[i].password))
  291.                 {
  292.                     Console.WriteLine("Welcome " + nameEntered + "!");
  293.                     return;
  294.                 }
  295.             }
  296.             Console.WriteLine("Permission denied!");
  297.         }
  298.         void example11()
  299.         {
  300.             Vector[] vectors = new Vector[3];
  301.             for (int i = 0; i < vectors.Length; i++)
  302.             {
  303.                 Console.Write("X: ");
  304.                 vectors[i].x = System.Convert.ToInt32(Console.ReadLine());
  305.                 Console.Write("Y: ");
  306.                 vectors[i].y = System.Convert.ToInt32(Console.ReadLine());
  307.                 Console.WriteLine();
  308.             }
  309.             Vector result = addVectors(vectors);
  310.             Console.WriteLine("Result is [" + result.x + ", " + result.y + "]");
  311.         }
  312.         public Vector addVectors(Vector[] vectors)
  313.         {
  314.             Vector result;
  315.             result.x = 0;
  316.             result.y = 0;
  317.             foreach (Vector v in vectors)
  318.             {
  319.                 result.x += v.x;
  320.                 result.y += v.y;
  321.             }
  322.             return result;
  323.         }
  324.  
  325.         public void f911()
  326.         {
  327.             Random rnd = new Random();
  328.             for (int i=0; i<10; i++)
  329.             {
  330.                 int n = rnd.Next(6) + 1;
  331.                 Console.WriteLine(n);
  332.             }
  333.         }
  334.         public void f912()
  335.         {
  336.             Random rnd = new Random();
  337.             long[] stat = new long[] {0,0,0,0,0,0};
  338.             for (int i=0; i<10; i++)
  339.             {
  340.                 int n = rnd.Next(6);
  341.                 stat[n] += 1;
  342.             }
  343.             for (int n=0; n<6; n++)
  344.             {
  345.                 Console.WriteLine("" + (n+1) + " => " + stat[n]);
  346.             }
  347.         }
  348.         public void f913()
  349.         {
  350.             Random rnd = new Random();
  351.             int distance = 0;
  352.             int maxDistance = 0;
  353.             for (int i=0; i<100; i++)
  354.             {
  355.                 int n = rnd.Next(6) + 1;
  356.                 if (n == 6)
  357.                 {
  358.                     if (distance > maxDistance)
  359.                     {
  360.                         maxDistance = distance;
  361.                     }
  362.                     distance = 0;
  363.                 }
  364.                 else
  365.                 {
  366.                     distance += 1;
  367.                 }
  368.             }
  369.             Console.WriteLine("max: " + maxDistance);
  370.         }
  371.         void f913a()
  372.         {
  373.             // Alternatív megoldás
  374.             Random rnd = new Random();
  375.             int lastSix = 0; // A legutóbbi hatos pozíciója
  376.             int maxDist = 0; // Legnagyobb távolság
  377.             for(int i=0; i<100; i++)
  378.             {
  379.                 int n = rnd.Next(6) + 1;
  380.                 if (n == 6)
  381.                 {
  382.                     int dist = i - lastSix; // Kiszámoljuk hatosok távolságát: a mostani és legutóbbi hatos pozíciójának különbse.
  383.                     if (dist > maxDist)
  384.                     {
  385.                         // Ha a távolság nagyobb mint egy korábban rögzített maximális érték, akkor találtunk egy új maximumot.
  386.                         maxDist = dist;
  387.                     }
  388.                     lastSix = i;
  389.                 }
  390.             }
  391.             Console.WriteLine(maxDist);
  392.         }
  393.     }
  394. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement