ZADANIE4
unknown
plain_text
3 years ago
3.9 kB
13
Indexable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace robieFikolki4
{
internal 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...