Tablice

Odpowiedz Nowy wątek
2019-12-02 19:46
0

Witam, potrzebuję pomocy przy zadanku. Oto jego treść: Napisać funkcję o nazwie SameFirstLast, która pobiera tablicę liczb całkowitych x i zwraca true o ile:
1) tablica ma długość 1 lub więcej,
2) pierwszy i ostatni element tablicy są sobie równe,
np:
SameFirstLast([1, 2, 3]) → False
SameFirstLast([1, 2, 3, 1]) → True
SameFirstLast([1, 2, 1]) → True

Co myślicie o czymś takim?

Console.WriteLine("Wpisz rozmiar tablicy");
            int t;
            t = Convert.ToInt32(Console.ReadLine());
            int[] x = new int[t];

            Console.WriteLine("Wpisz elementy tablicy");
            for (int i = 0; i < t; i++)
            {
                x[i] = Convert.ToInt32(Console.ReadLine());
            }

            for (int i = 0; i < t; i++)
            {
                Console.Write(x[i] + ", ");
            }
            if (x.Length >= 1 && x[0] == x[x.Length - 1])
            {
                Console.WriteLine("True");
            }
            else Console.WriteLine("False");
            Console.ReadKey();
edytowany 1x, ostatnio: cerrato, 2019-12-03 00:06

Pozostało 580 znaków

2019-12-02 20:21
0

Trzymaj

        public bool SameFirstLast(int[] tab) =>
            (tab is null || tab.Length == 0) ?
            false : tab.Any(_ => tab.First().Equals(tab.Last()));

Lubię miodek :)
Nie potrzebujesz tutaj callować any. - Sunnyline2 2019-12-03 00:05

Pozostało 580 znaków

2019-12-03 00:11
2

Mógłbyś użyć int.TryParse aby poprawnie obsłużyć niepoprawnie wprowadzone dane.
Jak chcesz wypisać array na ekran możesz użyć string.Join.

Taki fun-fact w C# 8.0 masz operator '^' pozwalający odwołać się do X elementu w tablicy od końca.

    public static bool FirstAndLastAreEqual(int[] arr) {
        if (arr == null || arr.Length <= 0) 
            return false;

        return arr[0] == arr[^1];
    }
   }
            else Console.WriteLine("False");
            Console.ReadKey();

ii nie rób takich elsy bo ciężko się to czyta.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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