Untitled
unknown
plain_text
2 years ago
4.0 kB
5
Indexable
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Cwiczenie10 { class Program { public static bool CzyPierwsza(int x) { if (x <= 1) return false; // nie jest pierwsza if (x == 2) return true; // jest pierwsza if (x % 2 == 0) return false; // nie jest pierwsza int temp = (int)Math.Floor(Math.Sqrt(x)); for (int i = 3; i <= temp; i += 2) if (x % i == 0) return false; return true; } static void SegmentacjaTablic(ref int[] t1, ref int[] t2) { int licznik_pierwsze = 0, licznik_reszta = 0; // sprawdzanie ilosci liczb pierwszych i pozostalych w tablicy t1 for (int i = 0; i < t1.Length; i++) { if (CzyPierwsza(t1[i])){ licznik_pierwsze++; } else { licznik_reszta++; } } // sprawdzanie ilosci liczb pierwszych i pozostalych w tablicy t2 for (int i = 0; i < t2.Length; i++) { if (CzyPierwsza(t2[i])) { licznik_pierwsze++; } else { licznik_reszta++; } } Console.WriteLine("Licznik pierwsze: " + licznik_pierwsze + "; licznik reszta: " + licznik_reszta); int[] pierwsze = new int[licznik_pierwsze]; int[] reszta = new int[licznik_reszta]; int indeks_do_tablicy_pierwsze = 0, indeks_do_tablicy_reszta = 0; // uzupelnienie tab pierwsze i reszta wartosciami z t1 for (int i = 0; i < t1.Length; i++) { if (CzyPierwsza(t1[i])) { pierwsze[indeks_do_tablicy_pierwsze] = t1[i]; indeks_do_tablicy_pierwsze++; } else { reszta[indeks_do_tablicy_reszta] = t1[i]; indeks_do_tablicy_reszta++; } } // uzupelnienie tab pierwsze i reszta wartosciami z t2 for (int i = 0; i < t1.Length; i++) { if (CzyPierwsza(t2[i])) { pierwsze[indeks_do_tablicy_pierwsze] = t2[i]; indeks_do_tablicy_pierwsze++; } else { reszta[indeks_do_tablicy_reszta] = t2[i]; indeks_do_tablicy_reszta++; } } t1 = pierwsze; t2 = reszta; } static void Main(string[] args) { int[] t1 = new int[] { 4, 3, 5, 6, 8, 9, 14 }; int[] t2 = new int[] { 8, 9, 10, 4, 3, 9, 11 }; Console.Write("Tablice przed segregacją. \nTablica pierwsza: "); for (int i = 0; i < t1.Length; i++) Console.Write(t1[i] + " "); Console.Write("\nTablica druga: "); for (int i = 0; i < t2.Length; i++) Console.Write(t2[i] + " "); Console.WriteLine(); Console.WriteLine("Tablice po segregacji: "); SegmentacjaTablic(ref t1, ref t2); Console.WriteLine("\nTablica liczb pierwszych"); for (int i = 0; i < t1.Length; i++) Console.Write(t1[i] + " "); Console.WriteLine("\nTablica pozostałych liczb: "); for (int i = 0; i < t2.Length; i++) Console.Write(t2[i] + " "); Console.ReadKey(); } } }
Editor is loading...