C# :: Aufgabe #365

2 Lösungen Lösungen öffentlich

Position im Array gesucht

Anfänger - C# von JKooP - 18.02.2021 um 20:06 Uhr
Gegeben ist ein sortiertes Array mit einer beliebigen Anzahl von Integer-Zahlen und eine Integer-Zahl,
deren Position/Index ermittelt werden soll. Ist die Zahl nicht vorhanden,
soll ebenfalls die Position bestimmt werden, an der sie im sortierten Array eingeordnet werden müsste.

Es können aber auch, je nach Programmiersprache bzw. Vorliebe, auch andere Daten-Container wie z.B. Listen oder Vektoren genutzt werden.

Beispiele:

Array = [1, 3, 5, 7, 9]
Zahl = 7
Lösung: 3

Array = [0, 1, 3, 7, 9]
Zahl = 2
Lösung: 2

Array = [1, 4, 6, 8, 9]
Zahl = 0
Lösung: 0

Array = [1, 3, 5, 7]
Zahl = 9
Lösung: 4

Hinweis: Array ist nullbasiert!

Erstelle eine Funktion/Methode, mit der die oben genannte Problemstellung gelöst werden kann.

Viel Spaß

Lösungen:

vote_ok
von JakS (230 Punkte) - 08.03.2021 um 11:09 Uhr
Quellcode ausblenden C#-Code
        private static int SearchIndex(int[] intArr, int value)
        {
            bool b = true;
            int i = -1;
            do
            {
                i++;
                if (i == intArr.Length || (i < intArr.Length && intArr[i] >= value))
                    b = false;

            } while (b);
            return i;
        }
vote_ok
von JKooP (18090 Punkte) - 31.03.2021 um 15:32 Uhr
NET 5.x; C# 9.x; VS-2019
Quellcode ausblenden C#-Code
using System;
using System.Linq;

var n = new [] { 1, 3, 5, 7, 9 };
var t = 2;
Console.WriteLine(GetPos(n, t));

static int GetPos(int[] nums, int target)
{
    var l = nums.ToList();
    if (!l.Contains(target))
    {
        l.Add(target);
        l = l.OrderBy(x => x).ToList();
    }
    return l.IndexOf(target);
}