Skip to content

Instantly share code, notes, and snippets.

@MechMK1
Last active October 24, 2016 09:32
Show Gist options
  • Save MechMK1/b53cafa6d3dcc5e5090f8a581b4522f9 to your computer and use it in GitHub Desktop.
Save MechMK1/b53cafa6d3dcc5e5090f8a581b4522f9 to your computer and use it in GitHub Desktop.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Liest 10 Gleitkomma-Zahlen ein und speichert sie in ein Array.
double[] numbers = ReadNumbers(10);
//Bestimmt die größte Zahl des Arrays.
double maximum = GetMaximum(numbers);
//Gibt die größte Zahl aus.
Console.WriteLine("Maximum: " + maximum);
}
private static double GetMaximum(double[] numbers)
{
//Initialisiert Max mit dem kleinst-möglichen double Wert.
double max = double.MinValue;
for (int i = 0; i < numbers.Length; i++)
{
//Wenn die aktuelle Zahl größer als max ist, dann ist die aktuelle Zahl das neue Maximum
if (numbers[i] > max) max = numbers[i];
}
return max;
}
private static double[] ReadNumbers(int count)
{
//Erstellt ein neues Array mit der gewünschten Größe
double[] numbers = new double[count];
//For-Loop erhöht i nur um 1, wenn die eigelesene Zeile eine Zahl war.
for (int i = 0; i < numbers.Length;)
{
double tmp;
Console.Write("Bitte geben Sie eine " + (i+1) + ". Zahl ein: ");
//Liest eine Zeile ein.
string s = Console.ReadLine();
//canParse ist true, wenn s eine gültige Zahl ist.
//Wenn s eine gültige Zahl ist, dann wird diese in tmp geschrieben.
bool canParse = double.TryParse(s, out tmp);
if (canParse)
{
//Das Array an Stelle i wird mit der eingelesenen Zahl befüllt.
numbers[i] = tmp;
//i wird um 1 erhöht und die nächste Zahl eingelesen
i++;
}
else
{
//Wenn s keine Zahl ist, wird ein Fehler ausgegeben.
//i wird in dieser Iteration nicht erhöht.
Console.WriteLine(s + " ist keine Zahl.");
}
}
//Das Array wird zurückgegeben.
return numbers;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment