Listában az lista[i] előtti elemet hogyan tudom kiírni? c#
Problémám nem pontosan ez és lehet elég hülyén fogalmazok.
Adott egy lista melyben 10 db random szám van 0 és 20 intervallumban.
Azokat a számokat, kell kiíratni, melyek szomszédainak összege egyenlő.
pl: 2,4,2
két szomszéd a 2 és a 2 összegük 4 tehát megfelel a feltételnek.
if (valami[i + 1] + valami[i - 1] == valami[i])
{
Console.WriteLine(valami[i]);
}
else
{
Console.WriteLine("Nincs a listában olyan szám mely megfelelne a feltételnek.");
}
Erre gondoltam, de valami nyílván nem jó.
Kell egy for ciklus, amiben "i" 1-től "length - 2"-ig megy.
Abban vizsgálod, hogy megfelelő-e a szám. Ha igen, kiírod.
Valamint felveszel egy változót, amiben elmented, hogy találtál-e ilyen számot és a végén megvizsgálod... ha nem, akkor kiírod a szöveget.
class Program
{
static void Main(string[] args)
{
//List<int> listNotRandom = new List<int> { 2, 4, 2, 5, 6, 8, 5, 10, 5, 6, 12, 6, 8, 16, 6, 19, 3, 6, 3, 1 };
List<int> list = new List<int>();
Random rnd = new Random();
for (int i = 0; i < 10; i++)
{
list.Add(rnd.Next(20));
}
List<int> rightElements = new List<int>();
for (int i = 1; i < list.Count-2; i++)
{
if(list[i-1] + list[i+1] == list[i])
{
rightElements.Add(list[i]);
}
}
if (rightElements.Any())
{
for (int i = 0; i < rightElements.Count; i++)
{
Console.WriteLine(rightElements[i]);
}
}
else
Console.WriteLine("Nincs megfelelő elem.");
Console.ReadKey();
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!