Untitled
unknown
plain_text
2 years ago
3.7 kB
4
Indexable
class Program { static void Tablice(ref int[] inTab1, ref int[] inTab2) { int dodatnie = 0; int ujemne = 0; // zliczanie ilosci liczb ujemnych w tablicy1 for (int i = 0; i < inTab1.Length; i++) { if (inTab1[i] < 0) ujemne++; else dodatnie++; } // zliczanie ilosci liczb ujemnych w tablicy2 for (int i = 0; i < inTab2.Length; i++) { if (inTab2[i] < 0) ujemne++; else dodatnie++; } // tworzenie tablic z odpowiednia iloscia elementow int[] outTab1 = new int[ujemne]; int[] outTab2 = new int[dodatnie]; // pomocnicze zmienne int iTab1 = 0, iTab2 = 0; for (int i = 0; i < inTab1.Length; i++) if (inTab1[i] < 0) { outTab1[iTab1] = inTab1[i]; iTab1++; } else { outTab2[iTab2] = inTab1[i]; iTab2++; } for (int i = 0; i < inTab2.Length; i++) if (inTab2[i] < 0) { outTab1[iTab1] = inTab2[i]; iTab1++; } else { outTab2[iTab2] = inTab2[i]; iTab2++; } inTab1 = outTab1; inTab2 = outTab2; } static void Main(string[] args) { /* Napisz metodę typu void, z dwoma parametrami typu ref int[], * która wybiera wartości nieujemne z obu tablic i zapisuje je do * pierwszej tablicy a wartości ujemne z obu tablic zapisuje do drugiej tablicy. * Przykładowo dla { 1,-2,5} i { -2, 4, -9, 0} * mamy otrzymać { 1,5,4,0}, { -2,-2,9}. Wynik ma być zwrócony w parametrach * reprezentujących początkowe tablice(gdy nie ma elementów zwracamy pustą tablicę). */ Console.WriteLine("Podaj rozmiar tablicy 1: "); int n = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Podaj rozmiar tablicy 2: "); int m = Convert.ToInt32(Console.ReadLine()); Random r = new Random(); int[] tab1 = new int[n]; int[] tab2 = new int[m]; // wypelnienie tablic (wartościami od -100 do 100) for (int i = 0; i < tab1.Length; i++) tab1[i] = r.Next(-100, 100); for (int i = 0; i < tab2.Length; i++) tab2[i] = r.Next(-100, 100); Console.WriteLine("\n=========tab 1============"); for (int i = 0; i < tab1.Length; i++) Console.Write(tab1[i] + " "); Console.WriteLine("\n=========tab 2============"); for (int i = 0; i < tab2.Length; i++) Console.Write(tab2[i] + " "); Tablice(ref tab1, ref tab2); Console.WriteLine(); Console.WriteLine("\n========= Tablica ujemne ============"); for (int i = 0; i < tab1.Length; i++) Console.Write(tab1[i] + " "); Console.WriteLine("\n========= Tablica pozostale ============"); for (int i = 0; i < tab2.Length; i++) Console.Write(tab2[i] + " "); Console.ReadKey(); } }
Editor is loading...