using System;
/// @author Vesa Lappalainen
/// @version 02.10.2011
///
/// Ohjelmassa harjoitellaan taulukkofunktioiden tekoa.
///
public class SuurinJaPienin
{
///
/// Kysytään käyttäjältä lukuja ja tulostetaan
/// niistä suurin ja pienin.
///
///
public static void Main(string[] args)
{
const int KOKO = 3;
int[] luvut = new int[KOKO];
for (int i = 0; i < luvut.Length; i++)
{
Console.Write("Anna {0}. kokonaisluku >",i+1);
luvut[i] = int.Parse(Console.ReadLine());
}
/*
Console.Write("Anna 2. kokonaisluku >");
luvut[1] = int.Parse(Console.ReadLine());
Console.Write("Anna 3. kokonaisluku >");
luvut[2] = int.Parse(Console.ReadLine());
*/
int suurin = Suurin(luvut);
int pienin = Pienin3(luvut);
// int suurin = Suurin(luvut);
// int pienin = Pienin(luvut);
Console.WriteLine("Suurin luku on " + suurin);
Console.WriteLine("Pienin luku on " + pienin);
Console.ReadKey();
}
///
/// Aliohjelma tutkii, mikä annetuista
/// kokonaisluvuista on suurin,
/// ja palauttaa sen.
///
/// taulukko jossa on luvut
/// Suurin luku kolmesta
///
///
/// SuurinJaPienin.Suurin(new int[]{3, 2, 1}) === 3;
/// SuurinJaPienin.Suurin(new int[]{2, 3, 1}) === 3;
/// SuurinJaPienin.Suurin(new int[]{2, 1, 3}) === 3;
/// SuurinJaPienin.Suurin(new int[]{4, 2, 4}) === 4;
/// SuurinJaPienin.Suurin(new int[]{1, 1, 1}) === 1;
///
///
public static int Suurin(int[] luvut)
{
/*
int suurin = luvut[0];
for (int i = 1; i < luvut.Length; i++)
if (luvut[i] > suurin) suurin = luvut[i];
return suurin;
*/
/*
int suurin = int.MinValue;
for (int i = 0; i < luvut.Length; i++)
{
int luku = luvut[i];
if (luvut[i] > suurin) suurin = luvut[i];
return suurin;
*/
int suurin = int.MinValue;
foreach (int luku in luvut)
if (luku > suurin) suurin = luku;
return suurin;
}
///
/// Aliohjelma tutkii, mikä annetuista
/// kolmesta kokonaisluvuista on suurin,
/// ja palauttaa sen.
///
/// 3 paikkainen taulukko jossa on luvut
/// Suurin luku kolmesta
///
///
/// SuurinJaPienin.Suurin3(new int[]{3, 2, 1}) === 3;
/// SuurinJaPienin.Suurin3(new int[]{2, 3, 1}) === 3;
/// SuurinJaPienin.Suurin3(new int[]{2, 1, 3}) === 3;
/// SuurinJaPienin.Suurin3(new int[]{4, 2, 4}) === 4;
/// SuurinJaPienin.Suurin3(new int[]{1, 1, 1}) === 1;
///
///
public static int Suurin3(int[] luvut)
{
if (luvut.Length != 3) return 0;
int suurin = int.MinValue; /// 1000 0000
if (luvut[0] > suurin) suurin = luvut[0];
if (luvut[1] > suurin) suurin = luvut[1];
if (luvut[2] > suurin) suurin = luvut[2];
return suurin;
}
///
/// Aliohjelma tutkii, mikä annetuista
/// kolmesta kokonaisluvuista on pienin,
/// ja palauttaa sen.
///
/// 3 paikkainen taulukko jossa on luvut
/// Pienin luku kolmesta
///
///
/// SuurinJaPienin.Pienin3(new int[]{1, 2 ,3}) === 1;
/// SuurinJaPienin.Pienin3(new int[]{2, 1, 3}) === 1;
/// SuurinJaPienin.Pienin3(new int[]{2, 3, 1}) === 1;
/// SuurinJaPienin.Pienin3(new int[]{3, 3, 2}) === 2;
/// SuurinJaPienin.Pienin3(new int[]{3, 3, 3}) === 3;
///
///
public static int Pienin3(int[] luvut)
{
int pienin = luvut[0];
if (luvut[1] < pienin) pienin = luvut[1];
if (luvut[2] < pienin) pienin = luvut[2];
return pienin;
}
///
/// Aliohjelma tutkii, mikä annetuista
/// kolmesta kokonaisluvuista on suurin,
/// ja palauttaa sen.
///
/// 3 paikkainen taulukko jossa on luvut
/// Suurin luku kolmesta
///
///
/// SuurinJaPienin.Suurin(new int[]{3, 2, 1}) === 3;
/// SuurinJaPienin.Suurin(new int[]{2, 3, 1}) === 3;
/// SuurinJaPienin.Suurin(new int[]{2, 1, 3}) === 3;
/// SuurinJaPienin.Suurin(new int[]{4, 2, 4}) === 4;
/// SuurinJaPienin.Suurin(new int[]{1, 1, 1}) === 1;
///
///
public static int Suurin(int a, int b, int c)
{
int suurin = a;
if (b > suurin) suurin = b;
if (c > suurin) suurin = c;
return suurin;
}
}