Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.34 KB | None | 0 0
  1. # Osoba.cs
  2. using System;
  3.  
  4. namespace zadanie2
  5. {
  6.     class Osoba
  7.     {
  8.         public string Imie { get; private set; }
  9.         public string Nazwisko { get; private set; }
  10.         public int RokUrodzenia { get; private set; }
  11.  
  12.         public Osoba(string imie, string nazwisko, int rokUrodzenia)
  13.         {
  14.             Imie = imie;
  15.             Nazwisko = nazwisko;
  16.             RokUrodzenia = rokUrodzenia;
  17.         }
  18.  
  19.         public override string ToString()
  20.         {
  21.             return $"{Imie} {Nazwisko} - {RokUrodzenia}";
  22.         }
  23.     }
  24. }
  25.  
  26. # Tablica.cs
  27. using System;
  28.  
  29. namespace zadanie2
  30. {
  31.     class Tablica<T>
  32.     {
  33.         T[] tab;
  34.  
  35.         public Tablica(int rozmiar)
  36.         {
  37.             tab = new T[rozmiar];
  38.         }
  39.  
  40.         public void Wpisz(int idx, T obj)
  41.         {
  42.             if (tab.Length < idx + 1)
  43.             {
  44.                 Array.Resize<T>(ref tab, idx + 1);
  45.             }
  46.  
  47.             tab[idx] = obj;
  48.         }
  49.  
  50.         public T Pobierz(int idx)
  51.         {
  52.             if (idx >= 0 && idx < tab.Length)
  53.             {
  54.                 return tab[idx];
  55.             }
  56.             else
  57.             {
  58.                 throw new Exception("Indeks poza rozmiarem tablicy");
  59.             }
  60.  
  61.         }
  62.  
  63.         public void Wypisz(Func<T, string> Fmt)
  64.         {
  65.             foreach (T obj in tab)
  66.             {
  67.                 if (obj is T)
  68.                 {
  69.                     Console.WriteLine(Fmt(obj));
  70.                 }
  71.             }
  72.         }
  73.  
  74.     }
  75. }
  76.  
  77. # Program.cs
  78. using System;
  79.  
  80. namespace zadanie2
  81. {
  82.  
  83.     class Program
  84.     {
  85.  
  86.         static string Format(Osoba o)
  87.         {
  88.             return $"{o.Imie,-8} {o.Nazwisko,-8} Rok urodzenia: {o.RokUrodzenia}";
  89.         }
  90.  
  91.         static void Main(string[] args)
  92.         {
  93.             Tablica<string> tString = new Tablica<string>(2);
  94.             tString.Wpisz(0, "test1");
  95.             tString.Wpisz(4, "test2");
  96.             tString.Wpisz(2, "test3");
  97.             tString.Wpisz(1, "test4");
  98.  
  99.             tString.Wypisz(obj => $"Wpis: {obj}");
  100.  
  101.             Console.WriteLine();
  102.  
  103.             Tablica<Osoba> tOsoba = new Tablica<Osoba>(1);
  104.             tOsoba.Wpisz(0, new Osoba("Jan", "Nowak", 2000));
  105.             tOsoba.Wpisz(2, new Osoba("Janina", "Nowak", 2001));
  106.  
  107.             tOsoba.Wypisz(Format);
  108.         }
  109.     }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement