Tablice, sumy o indeksach parzystych i nieparzystych

0

Witam,
Muszę napisać następujący program: wczytać do tablicy p liczb; wyświetlić oddzielnie sumy o indeksach parzystych i nieparzystych. Wiem jak wczytać liczby do tablicy, problem zaczyna się w drugiej części zadania, a mianowicie chodzi mi o wyświetlenie elementów z tablicy o indeksach parzystych i nieparzystych. Proszę o pomoc :)

0

Użyj pętli for.

0

Jak wyżej plus warunek if

i % 2 == 0

Czyli, jeśli indeksor dzieli się przez 2 bez reszty to parzysta.

0
            double parzyste = 0;
            double nieparzyste = 0;
            for (int i= 0; i < p; i++)
            {
                if (i % 2 == 0)
                parzyste += tabLiczb[i]; 
                else
                    nieparzyste += tabLiczb[i];
            }
            Console.WriteLine($"Suma elementów o parzystych indeksach: {parzyste}");
            Console.WriteLine($"Suma elementów o nieparzystych indeksach: {nieparzyste}");

Czy tak jest poprawnie? p to liczba elementów tablicy. Wydaje mi się że program po uruchomieniu działa poprawnie, jeśli dobrze myślę, że indeks '0' zalicza jako indeks parzysty

0

A może lepiej mieć dwie pętle, zamiast ifa w środku jednej?

0

Mam jeszcze pytanie do innego zadania: Wyświetlić sumę dwóch najmniejszych dodatnich elementów tablicy.
Próbuję z minimalnym elementem tablicy, ale nie wiem jak poszukać element następny po minimum
Napisałem coś takiego:

namespace ConsoleApp13
{
    class Program
    {
        static void Main(string[] args)
        {
            //Wyświetl sumę dwóch najmniejszych liczb dodatnich 
            //z tablicy składającej się z minimum 4 liczb całkowitych. 
            //Żadne zmiennoprzecinkowe ani puste tablice nie zostaną przekazane.

            Console.WriteLine("ZADANIE 1\n____________________");

            int ileElementow;
            Console.Write("Podaj liczbę elementów tablicy: ");
            while (!int.TryParse(Console.ReadLine(), out ileElementow) || ileElementow < 4)
                Console.WriteLine("Tablica ma składać się z minimum 4 elementów, podaj ponownie");
            int[] tabLiczb = new int[ileElementow];

            Console.WriteLine("Podaj kolejno elementy tablicy: ");
            for(int i=0; i< ileElementow;i++)
            {
                int zm;
                while (!int.TryParse(Console.ReadLine(), out zm))
                    Console.WriteLine("Wartość nieprawidłowa, podaj ponownie");
                tabLiczb[i] = zm;
            }

            Console.Write("Twoja tablica: ");
            foreach(int el in tabLiczb)
            {
                Console.Write($"[{el}] ");
            }

            int sumaDwoch = 0;
            for(int i=0; i< ileElementow; i++)
            {
                if (tabLiczb[i] > 0)
                {
                    sumaDwoch = tabLiczb.Min() +;
                }
            }

            Console.WriteLine($"\n\nSuma dwóch najmniejszych dodatnich elementów tablicy to: {sumaDwoch}");
            Console.WriteLine("\n\nAby zakończyć wciśnij dowolny klawisz");
            Console.ReadKey();
        }
    }
}
0
 private string SumFirstTwoPositive()
        {
            var positive = tabLiczb.Where(x => x > 0).ToList();
            positive.Sort();
            return positive.Take(2).Sum().ToString();
        }

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