Wątek przeniesiony 2020-11-23 16:36 z C/C++ przez kq.

Zwracanie tablicy, c#, pętle

0

Stwórz funkcję double[] Ujemne(double[] tab) , która zwraca tablicę zawierającą tylko te liczby z tablicy tab, które są mniejsze od 0. Rozmiar zwracanej tablicy ma być równy liczbie znalezionych liczb spełniających warunki w tablicy tab.

Mam kilka problemów z tym zadaniem, nie wiem jak mam zwrócić tą tablicę a tym bardziej jak ją wywołać, żeby się wyświetliła w konsoli. Kod trochę też jest dla mnie problemem :D.
na razie mi się udało tyle wymyśleć:

static double[] Ujemne(double[] tab)
        {
            int rozmiar = 0;
            for (int i = 0; i < tab.Length; i++)
            {
                if (tab[i] < 0)
                {
                    rozmiar += 1;
                }
            }
            double[] liczby = new double[rozmiar];
            return liczby;
        }
1

Jeszcze musisz sobie zadeklarować jakąś listę, do której będziesz dodawał znalezione liczby, które chcesz wpisać do tablicy.
Tablice zwracasz do konsoli tak samo jak ją tutaj czytałeś - w pętli;
natomiast wywołanie to w metodzie main wywołujesz normalnie funkcje Ujemne()

0

@Sandra: Właśnie jak zdeklarować tą listę ? jak na razie w tej tablicy pojawiają mi się same 0, a chciałbym żeby to były inne, poprawne wartości

0

W ten sposób, zanim zwrócisz nową tablicę, musisz jeszcze raz przeiterować po tablicy wejściowej i dodać wszystkie ujemne do liczby.

0

@Matfizf: zwraca zera bo nic nie dodajesz. Tylko tworzysz rozmiar.
listę zadeklarować możesz np. tak
List<double> lista = new List<double>();
lista.Add(tab[i]);

0

a jak to mogę zrobić bo nie bardzo rozumiem ?

0

List jeszcze nie miałem i chyba nie mogę z tego korzystać, a już na pewno nie z metody .Add :/

0

A mallock miałeś?
metoda .Add to najprostsza wbudowana domyślnie rzecz dla list :p nie ma co wymyślać koła na nowo

0

niestety nie :/

0

No to jak ani tak ani tak to tak baaaaardzo na piechotę to wypadałoby jedną pętlą - tą co masz - policzyć rozmiar nowej tablicy, drugą pętlą jeszcze raz przeiterować tablicę szukając elementów mniejszych niż 0 i wpisywać je do tej nowej tablicy. Ale to jest długi sposób

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