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

live12 loppu

parent 59a6b07a
No related branches found
No related tags found
No related merge requests found
......@@ -14,15 +14,14 @@ public class Kutsuminen
public static void Main(string[] args)
{
int a = 4, b = 5;
int iso;
iso = Suurempi(a, b);
var iso = Suurempi(a, b);
Console.WriteLine(iso);
iso = Suurempi(iso + 1, 7 / 3 + 5 / 2);
Console.WriteLine(iso);
int[] luvut = new int[4];
int[] luvut = { 0, 6, 4, 9 };
int[] m = luvut;
luvut[2] = 4;
......@@ -83,6 +82,29 @@ public class Kutsuminen
/// </pre>
/// </example>
public static void VaihdaSuurin(int[] t, int korvaavaArvo)
{
int paikka = SuurimmanPaikka(t);
if (paikka < 0) return;
t[paikka] = korvaavaArvo;
}
/// <summary>
/// Etsii taulukon suurimman luvun paikan. Mikäli monta
/// yhtäsuurta, palautetaan ensimmäisen paikka. Mikäli
/// suurinta ei löydy (tyhjä taulukko), palautetaan -1
/// </summary>
/// <param name="t">tutkittava taulukko</param>
/// <returns>suurimman alkion paikan indeksi tai -1</returns>
/// <example>
/// <pre name="test">
/// SuurimmanPaikka(new int[]{1,2,5,3}) === 2;
/// SuurimmanPaikka(new int[]{7,2,5,3}) === 0;
/// SuurimmanPaikka(new int[]{1,2,5,8}) === 3;
/// SuurimmanPaikka(new int[]{}) === -1;
/// </pre>
/// </example>
public static int SuurimmanPaikka(int[] t)
{
int paikka = -1;
int suurin = int.MinValue;
......@@ -96,8 +118,7 @@ public class Kutsuminen
}
}
if (paikka < 0) return;
t[paikka] = korvaavaArvo;
return paikka;
}
}
\ No newline at end of file
......@@ -8,33 +8,41 @@ using static Kutsuminen;
public class TestKutsuminen
{
[Test]
public void TestSuurempi45()
public void TestSuurempi44()
{
Assert.AreEqual( 4, Suurempi(3,4) , "in method Suurempi, line 46");
Assert.AreEqual( 4, Suurempi(-3,4) , "in method Suurempi, line 47");
Assert.AreEqual( -3, Suurempi(-3,-4) , "in method Suurempi, line 48");
Assert.AreEqual( 2, Suurempi(2,2) , "in method Suurempi, line 49");
Assert.AreEqual( 4, Suurempi(3,4) , "in method Suurempi, line 45");
Assert.AreEqual( 4, Suurempi(-3,4) , "in method Suurempi, line 46");
Assert.AreEqual( -3, Suurempi(-3,-4) , "in method Suurempi, line 47");
Assert.AreEqual( 2, Suurempi(2,2) , "in method Suurempi, line 48");
}
[Test]
public void TestVaihdaSuurin65()
public void TestVaihdaSuurin64()
{
int[] luvut = {2,5,4,3};
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 4 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 68");
Assert.AreEqual( "2 1 4 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 67");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 70");
Assert.AreEqual( "2 1 1 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 69");
VaihdaSuurin(luvut,9);
Assert.AreEqual( "2 1 1 9", String.Join(" ",luvut) , "in method VaihdaSuurin, line 72");
Assert.AreEqual( "2 1 1 9", String.Join(" ",luvut) , "in method VaihdaSuurin, line 71");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 74");
Assert.AreEqual( "2 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 73");
VaihdaSuurin(luvut,-1);
Assert.AreEqual( "-1 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 76");
Assert.AreEqual( "-1 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 75");
luvut = new int[]{5};
VaihdaSuurin(luvut,2);
Assert.AreEqual( "2", String.Join(" ",luvut) , "in method VaihdaSuurin, line 79");
Assert.AreEqual( "2", String.Join(" ",luvut) , "in method VaihdaSuurin, line 78");
luvut = new int[0];
VaihdaSuurin(luvut,2);
Assert.AreEqual( "", String.Join(" ",luvut) , "in method VaihdaSuurin, line 82");
Assert.AreEqual( "", String.Join(" ",luvut) , "in method VaihdaSuurin, line 81");
}
[Test]
public void TestSuurimmanPaikka100()
{
Assert.AreEqual( 2, SuurimmanPaikka(new int[]{1,2,5,3}) , "in method SuurimmanPaikka, line 101");
Assert.AreEqual( 0, SuurimmanPaikka(new int[]{7,2,5,3}) , "in method SuurimmanPaikka, line 102");
Assert.AreEqual( 3, SuurimmanPaikka(new int[]{1,2,5,8}) , "in method SuurimmanPaikka, line 103");
Assert.AreEqual( -1, SuurimmanPaikka(new int[]{}) , "in method SuurimmanPaikka, line 104");
}
}
using System;
using System.Text;
using System.Linq;
using System.Collections.Generic;
/// @author Omanimi
/// @version 10.10.2023
/// <summary>
///
/// </summary>
public class Matriisit
{
/// <summary>
///
/// </summary>
public static void Main()
{
int[,] mat = {
{ 5, 6, 2, 7, 9},
{11,34,23, 0,42},
{99, 6, 4,23,23},
{19,11, 5,11,47},
{47, 9, 5,18,19},
{33,24,54,67,88}
};
int lkm = MonellakoRivilla(mat, 11);
Console.WriteLine(lkm);
}
/// <summary>
/// Lasketaan monellako rivillä taulukossa esiintyy etsittävä luku.
/// Jos luku on useasti samalla rivillä, rivi lasketaan yhden kerran.
/// </summary>
/// <param name="mat">matriisi, josta lukua etsitään</param>
/// <param name="etsittava">luku jota etsitään</param>
/// <returns>monellako rivillä etsittävä oli</returns>
/// <example>
/// <pre name="test">
/// int[,] t = {{2, 1, 2}, {3, 4, 2}, {1, 0, 1}, {1, 8, 9}};
/// MonellakoRivilla(t, 2) === 2;
/// MonellakoRivilla(t, 5) === 0;
/// MonellakoRivilla(t, 0) === 1;
/// MonellakoRivilla(t, 1) === 3;
/// MonellakoRivilla(new int[0, 0], 1) === 0;
/// </pre>
/// </example>
public static int MonellakoRivilla(int[,] mat, int etsittava)
{
int riveja = mat.GetLength(0);
int sarakkeita = mat.GetLength(1);
int lkm = 0;
for (int iy = 0; iy < riveja; iy++)
{
for (int ix = 0; ix < sarakkeita; ix++)
{
int luku = mat[iy, ix];
if (luku == etsittava)
{
lkm++;
break;
}
}
}
return lkm;
return 0;
}
}
\ No newline at end of file
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ExternalConsole>true</ExternalConsole>
</PropertyGroup>
</Project>
// ReSharper disable all
using System;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using NUnit.Framework;
using static Matriisit;
[TestFixture]
[DefaultFloatingPointTolerance(0.000001)]
public class TestMatriisit
{
[Test]
public void TestMonellakoRivilla40()
{
int[,] t = {{2, 1, 2}, {3, 4, 2}, {1, 0, 1}, {1, 8, 9}};
Assert.AreEqual( 2, MonellakoRivilla(t, 2) , "in method MonellakoRivilla, line 42");
Assert.AreEqual( 0, MonellakoRivilla(t, 5) , "in method MonellakoRivilla, line 43");
Assert.AreEqual( 1, MonellakoRivilla(t, 0) , "in method MonellakoRivilla, line 44");
Assert.AreEqual( 3, MonellakoRivilla(t, 1) , "in method MonellakoRivilla, line 45");
Assert.AreEqual( 0, MonellakoRivilla(new int[0, 0], 1) , "in method MonellakoRivilla, line 46");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.13.1"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Matriisit\Matriisit.csproj"/>
</ItemGroup>
</Project>
......@@ -5,6 +5,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kutsuminen", "Kutsuminen\Ku
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KutsuminenTest", "KutsuminenTest\KutsuminenTest.csproj", "{721E3A06-DA2D-4572-A815-BC11B5CBC6B1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Matriisit", "Matriisit\Matriisit.csproj", "{135140AB-BD3A-45F9-A901-E348DC387772}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MatriisitTest", "MatriisitTest\MatriisitTest.csproj", "{3A72F04C-1638-4AA8-9829-5CE45127ABAD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -19,5 +23,13 @@ Global
{721E3A06-DA2D-4572-A815-BC11B5CBC6B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{721E3A06-DA2D-4572-A815-BC11B5CBC6B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{721E3A06-DA2D-4572-A815-BC11B5CBC6B1}.Release|Any CPU.Build.0 = Release|Any CPU
{135140AB-BD3A-45F9-A901-E348DC387772}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{135140AB-BD3A-45F9-A901-E348DC387772}.Debug|Any CPU.Build.0 = Debug|Any CPU
{135140AB-BD3A-45F9-A901-E348DC387772}.Release|Any CPU.ActiveCfg = Release|Any CPU
{135140AB-BD3A-45F9-A901-E348DC387772}.Release|Any CPU.Build.0 = Release|Any CPU
{3A72F04C-1638-4AA8-9829-5CE45127ABAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3A72F04C-1638-4AA8-9829-5CE45127ABAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A72F04C-1638-4AA8-9829-5CE45127ABAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3A72F04C-1638-4AA8-9829-5CE45127ABAD}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
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