Pobranie nowej tablicy z metody

0

Hej,

Wprowadzam do metody argumenty: tablicę i mnożnik. W tej metodzie wartości z tablicy mnożone są przez mnożnik. I teraz chcę aby stara tablica została bez zmian (tab1) i powstała nowa tablica (tab2) z wartościami już pomnożonymi.

Nie potrafię odczytać wartości z tab2 bądź odczytuje je niepomnożone ;/

static int[] mno(int x, int[] tab)
        {
            int[] tab2 = new int[5];
            tab2[0] = tab[0] * x;
            tab2[1] = tab[1] * x;
            tab2[2] = tab[2] * x;
            tab2[3] = tab[3] * x;
            tab2[4] = tab[4] * x;
            return (tab2);            
        }

        static void Main(string[] args)
        {
            int x = 2;
            int[] tab1 = { 1, 2, 3, 4, 5 };
            mno(x, tab1);
            Console.WriteLine(tab1[0]);
            Console.WriteLine(tab1[1]);
            Console.WriteLine(tab1[2]);
            Console.WriteLine(tab1[3]);
            Console.WriteLine(tab1[4]);
            Console.ReadKey();                      
        }
1

   static int[] mno(int x, int[] tab)
        {
            return tab?.Select(item => item * x).ToArray();
        }

2

Ech, człowieku. Po pierwsze nie umiesz posługiwać się metodami. Po drugie nie wiesz, czym są pętle.

Cały Twój kod mieści się tu:


static int[] mno(int x, int[] tab)
{
  int[] res = new int[tab.Length];
  for(int i = 0; i < res.Length; i++)
    res[i] = tab[i] * x;

  return res;
}

 static void Main(string[] args)
{
  int x = 2;
  int[] tab1 = {1, 2, 3, 4, 5};
  int[] result = mno(x, tab1); //tutaj w swoim kodzie nie przypisujesz nic do rezultatu metody, a potem posługujesz się oryginalną tablicą

  for(int i = 0; i < result.Length; i++)
    Console.WriteLine(result[i]);

Console.ReadKey();
}

Jak chcesz się więcej dowiedzieć na temat tego kodu lub dalej coś pociągnąć, to zapraszam na priv.

1 użytkowników online, w tym zalogowanych: 0, gości: 1