Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.84 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Net;
  6.  
  7. namespace IPv6
  8. {
  9.     public class IpCim
  10.     {
  11.         public enum IpCimTipus
  12.         {
  13.             Dokumentacios = 1,
  14.             Globalis,
  15.             Helyi
  16.         }
  17.  
  18.         public string EredetiIpCim { get; set; }
  19.  
  20.         public IPAddress FeldolgozottIpCim { get; set; }
  21.  
  22.         public IpCimTipus Tipus { get; set; }
  23.     }
  24.  
  25.     public class Program
  26.     {
  27.         static void Main(string[] args)
  28.         {
  29.             var ipCimek = new List<IpCim>();
  30.  
  31.             // 1. feladat
  32.             using (var reader = new StreamReader("ip.txt"))
  33.             {
  34.                 while (!reader.EndOfStream)
  35.                 {
  36.                     var eredetiIpCim = reader.ReadLine();
  37.                     ipCimek.Add(new IpCim
  38.                     {
  39.                         EredetiIpCim = eredetiIpCim,
  40.                         FeldolgozottIpCim = IPAddress.Parse(eredetiIpCim),
  41.                         Tipus = eredetiIpCim.StartsWith("2001:0db8")
  42.                             ? IpCim.IpCimTipus.Dokumentacios
  43.                             : eredetiIpCim.StartsWith("2001:0e")
  44.                                 ? IpCim.IpCimTipus.Globalis
  45.                                 : IpCim.IpCimTipus.Helyi
  46.                     });
  47.                 }
  48.             }
  49.  
  50.             // 2. feladat
  51.             Console.WriteLine($"{ipCimek.Count} db IP cím van összesen.");
  52.  
  53.             // 3. feladat
  54.             var legalacsonyabbIpCim = ipCimek.OrderByDescending(i => BitConverter.ToUInt64(i.FeldolgozottIpCim.GetAddressBytes())).First();
  55.             Console.WriteLine($"{legalacsonyabbIpCim.EredetiIpCim} a legalacsonyabb IP cim.");
  56.  
  57.             // 4. feladat
  58.             Console.WriteLine($"Dokumentációs címek: {ipCimek.Count(i => i.Tipus == IpCim.IpCimTipus.Dokumentacios)} db");
  59.             Console.WriteLine($"Globális címek: {ipCimek.Count(i => i.Tipus == IpCim.IpCimTipus.Globalis)} db");
  60.             Console.WriteLine($"Helyi címek: {ipCimek.Count(i => i.Tipus == IpCim.IpCimTipus.Helyi)} db");
  61.  
  62.             // 5. feladat
  63.             // lusta voltam :(
  64.  
  65.             // 6. feladat
  66.             Console.Write("Kérek egy sorszámot: ");
  67.             var sorSzam = int.Parse(Console.ReadLine());
  68.             var ipCim = ipCimek[sorSzam - 1];
  69.             Console.WriteLine(ipCim.EredetiIpCim);
  70.             var roviditettIpCim = ipCim.EredetiIpCim.Replace("0000", "0");
  71.             Console.WriteLine(roviditettIpCim);
  72.  
  73.             // 7. feladat
  74.             if (roviditettIpCim == ipCim.FeldolgozottIpCim.ToString())
  75.             {
  76.                 Console.WriteLine("Nem rövidíthető tovább.");
  77.             }
  78.             else
  79.             {
  80.                 Console.WriteLine(ipCim.FeldolgozottIpCim.ToString());
  81.             }
  82.         }
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement