Arrays - parallele Felder

Im nächsten Beispiel werden zwei Arrays ("parallel") verwendet.

Wir schreiben ein Programm, welches von 5 Läufern die Zeiten speichert und anschließend den Sieger ermittelt.
Wir benötigen zwei Felder, eines für Namen und eines für Zeiten.

 

Beispielcode:

namespace parallele_felder
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] name = new string[5]; // Feld für Namen

            float[] zeit = new float[5]; // Feld für Zeiten

            float min = 0;

            int position = 0;

            for (int i = 0; i < 5; i++)
            {
                Console.Write("Name?");
                name[i] = Console.ReadLine();

                Console.Write("Zeit?");
                zeit[i] = Convert.ToSingle(Console.ReadLine());

                if (i == 0)

                    min = zeit[i]; //Beim 1.("0")Durchlauf ist die 1. Zeit das Minimum

                else if (zeit[i] < min)
                {
                    min = zeit[i]; //Ist die neue Zeit < als min, ist dies das neue Minimum

                    position = i;  //und speichert i in position
                }
            }
            Console.WriteLine("Der Sieger ist {0} mit einer Zeit von: {1}s", name[position], zeit[position]);

            Console.ReadLine();

            Array.Sort(zeit);

            foreach (float x in zeit)
            {
                Console.WriteLine("{0}", x);
            }
            Console.ReadLine();
        }
    }
}

 


Binär- zu Dezimalrechner

Dieses Programm berechnet die Dezimalzahl bei Eingabe einer 8-stelligen Binärzahl.
Zu beachten ist, wenn man mit Read einliest, wird das ANSI-Zeichen eingelesen. 0 entspricht der Dezimalzahl 48 und 1 entspricht der Dezimalzahl 49. D.h. beim einlesen wird 48 abgezogen.

 

Programmcode:

 

namespace bindez
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] bin = new int[8]; // Feld für Binärzahl
            int[] dez = new int[8]; // Feld für Dezimalzahl

            int dezimal = 0;

            Console.WriteLine("Bitte eine 8-stellige Binärzahl eingeben");

            for (int i = 7; i >= 0; i--)
            {
                bin[i] = Convert.ToInt32(Console.Read() - 48); //wenn mit Read eingelesen wird, wird das ANSI-Zeichen eingelesen
            }

            Console.ReadLine();

            for (int i = 0; i <= 7; i++)
            {
                dez[i] = bin[i] * Convert.ToInt32(Math.Pow(2, i));

                dezimal += dez[i]; //Kurzschreibweise für dezimal=dezimal+dez[i]
            }

            Console.WriteLine("Die Umrechnung ergibt: {0}", dezimal);

            Console.ReadLine();
        }
    }
}