Untitled
unknown
plain_text
2 years ago
3.6 kB
6
Indexable
using System; namespace Cwiczenie1 { class Zbior { public int[] liczby = new int[] { }; // pole klasy - z polem liczby będącym tablicą int public Zbior(int[] z) { liczby = z; } public Zbior() { // uwzględnij zbiór pusty ma to być tablica pusta { } a nie null liczby = new int[] { }; } // usuwanie wskazanej wartosci z tablicy private static int[] RemoveValFromTab(int[] inTab, int valToRemove) { int lengthOfOutTable = 0; for(int i = 0; i < inTab.Length; i++) { if (inTab[i] != valToRemove) lengthOfOutTable++; } int[] outTab = new int[lengthOfOutTable]; int outTabIndex = 0; for(int i = 0; i < inTab.Length; i++) { if (inTab[i] != valToRemove) { outTab[outTabIndex] = inTab[i]; outTabIndex++; } } /*Console.WriteLine("Usuwanie elementu: " + valToRemove); for (int i = 0; i < outTab.Length; i++) { Console.Write(outTab[i] + " "); } Console.WriteLine();*/ return outTab; } // ze zbioru liczb z1 usuwa liczby znajdujące się w drugim zbiorze z2 public static Zbior Metoda4(Zbior z1, Zbior z2) { bool flagToRemove = false; int valueToRemove = 0; for(int i = 0; i < z1.liczby.Length; i++) { flagToRemove = false; for (int j = 0; j < z2.liczby.Length; j++) { if (z1.liczby[i] == z2.liczby[j]) { flagToRemove = true; valueToRemove = z2.liczby[j]; } } if (flagToRemove) { Console.WriteLine("Usuwam: " + valueToRemove); z1.liczby = RemoveValFromTab(z1.liczby, valueToRemove); } } return z1; } } class Program { static void Main(string[] args) { /* Zdefiniuj klasę Zbiór - zbiór liczb całkowitych – z polem liczby będącym tablicą int (uwzględnij zbiór pusty ma to być tablica pusta { } a nie null). Napisz metodę Zbior Metoda4(Zbior z1, Zbior z2), która ze zbioru liczb z1 usuwa liczby znajdujące się w drugim zbiorze z2 np. {1, 1, 2, 3, 4, 5 } oraz {4, 1, 33 } daje wynik {2 ,3 ,5}.*/ Zbior z1 = new Zbior(new int[] { 1, 1, 2, 3, 4, 5 }); Zbior z2 = new Zbior(new int[] { 4, 1, 33 }); //wyswietlamy tablice z liczbami przed usuwaniem elementow for (int i = 0; i < z1.liczby.Length; i++) { Console.Write(z1.liczby[i] + " "); } Console.WriteLine(); for (int i = 0; i < z2.liczby.Length; i++) { Console.Write(z2.liczby[i] + " "); } Console.WriteLine(); Console.WriteLine(); z1 = Zbior.Metoda4(z1, z2); for (int i = 0; i < z1.liczby.Length; i++) { Console.Write(z1.liczby[i] + " "); } Console.ReadKey(); } } }
Editor is loading...