Skip to content
Snippets Groups Projects
Commit b1b79807 authored by Vesa Lappalainen's avatar Vesa Lappalainen :bicyclist:
Browse files

live15 loppu

parent 1fe517fb
No related branches found
No related tags found
No related merge requests found
......@@ -35,8 +35,11 @@ public class LaskeMatka : PhysicsGame
/// <summary>Koordinaatit piirretyille pisteille</summary>
private Vector[] pisteet = new Vector[10]; // taulukolle
private int lkm = 0; // taulukolle
// private Vector[] pisteet = new Vector[10]; // taulukolle
private List<Vector> pisteet = new List<Vector>(); // listalle
// private int lkm = 0; // taulukolle
private DoubleMeter yhteismatka = new DoubleMeter(200);
private Label matkanytto;
......@@ -70,7 +73,7 @@ public class LaskeMatka : PhysicsGame
private void LaskeMatkaNayttoon()
{
// double dist = SummaaEtaisyydet(pisteet, lkm); // Taulukolle
double dist = SummaaEtaisyydet(pisteet, lkm); // Listalle
double dist = SummaaEtaisyydet(pisteet); // Listalle
yhteismatka.Value = dist;
}
......@@ -81,9 +84,10 @@ public class LaskeMatka : PhysicsGame
/// <param name="pisteet">Taulukko pisteistö</param>
/// <param name="lkm">käyettyjen paikkojen lkm</param>
/// <returns></returns>
public static double SummaaEtaisyydet(Vector[] pisteet, int lkm) // taulukolle
public static double SummaaEtaisyydet(List<Vector> pisteet) // taulukolle
{
double d = 0;
int lkm = pisteet.Count;
if (lkm < 2) return 0;
Vector p1 = pisteet[0];
for (int i = 1; i < lkm; i++)
......@@ -103,6 +107,7 @@ public class LaskeMatka : PhysicsGame
/// <param name="canvas"></param>
private void PiirraPisteidenValisteViivat(Canvas canvas)
{
int lkm = pisteet.Count;
if (lkm < 2) return;
canvas.BrushColor = Color.Green;
Vector p1 = pisteet[0];
......@@ -144,8 +149,8 @@ public class LaskeMatka : PhysicsGame
ClearGameObjects();
Add(matkanytto);
lkm = 0; // taulukolle
// pisteet.RemoveRange(0, pisteet.Count); // listalle
// lkm = 0; // taulukolle
pisteet.RemoveRange(0, pisteet.Count); // listalle
LaskeMatkaNayttoon();
}
......@@ -159,7 +164,8 @@ public class LaskeMatka : PhysicsGame
{
// siirretään sininen pisteen kohdalle
klikattuPiste.Position = piste;
if ( lkm < pisteet.Length ) { pisteet[lkm] = piste; lkm++; } // taulukolle
// if (lkm >= pisteet.Length) Array.Resize(ref pisteet, pisteet.Length*2);
pisteet.Add(piste);
LuoPallo(this, piste, pallonKoko, Color.Black);
LaskeMatkaNayttoon();
}
......
......@@ -19,13 +19,73 @@ public class Listat
int tkoko = taulukko.Length;
Console.WriteLine(String.Join(" ", taulukko) + " koko: " + tkoko);
taulukko[1] = 9;
int maara = LaskeLuvut(taulukko, 5);
int maara = LaskeAlkiot(taulukko, 5);
Console.WriteLine(maara);
List<int> lista = new List<int>();
lista.Add(3); lista.Add(2); lista.Add(5);
lista[1] = 9;
lista.Add(99);
lista.Insert(2, 55);
int lkoko = lista.Count; // Huom! Määrä eri tavalla
Console.WriteLine(String.Join(" ", lista) + " koko: " + lkoko);
lista.Remove(99); // ja poistaa (ensimmäisen)
Console.WriteLine(String.Join(" ", lista) + " koko: " + lista.Count + " " + lista.Capacity);
int suurin = Suurin(lista);
Console.WriteLine(suurin);
List<string> slista = new List<string>() { "kissa", "täi", "koira", "mato", "kissa", "täi" };
maara = LaskeAlkiot(slista, "täi");
Console.WriteLine(maara);
int summa = lista.Sum(Onko5);
Console.WriteLine(summa);
}
public static int LaskeLuvut(int[] luvut, int mitaEtsitaan)
public static int Onko5(int a)
{
if (a == 5) return 1;
return 0;
}
/// <summary>
/// Etsitään listan suurin
/// </summary>
/// <param name="luvut">lista josta suurinta etsitään</param>
/// <returns>listan suurin tai 0 jos lista tyhjä</returns>
/// <example>
/// <pre name="test">
/// List<int>lista = new List<int>(){5,3,8,7});
/// Suurin(lista) === 8;
/// Suurin(new List<int>(){1,2,3}) === 3;
/// Suurin(new List<int>(){4,2,3}) === 4;
/// Suurin(new List<int>(){1,5,3}) === 5;
/// Suurin(new List<int>()) === 0;
/// </pre>
/// </example>
public static int Suurin(List<int> luvut)
{
if (luvut.Count == 0) return 0;
int suurin = luvut[0];
foreach (int luku in luvut)
{
if (luku > suurin) suurin = luku;
}
return suurin;
}
public static int LaskeAlkiot<T>(IList<T> alkiot, T mitaEtsitaan)
{
int lkm = 0;
foreach (T alkio in alkiot)
if (alkio.Equals(mitaEtsitaan)) lkm++;
return lkm;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment