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

live12

parent e85ac35c
No related branches found
No related tags found
No related merge requests found
Showing
with 518 additions and 24 deletions
using System;
using System.Text;
/// @author Vesa Lappalainen
/// @version 10.10.2011
......@@ -12,11 +11,10 @@ public class Matriisit
/// <summary>
/// Esimerkkejä matriiseista
/// </summary>
/// <param name="args">ei käytössä</param>
public static void Main(string[] args)
public static void Main()
{
// int[] luvut = int[3];
int[] luvut = { 3, 5, 1, 9 };
// int[] luvut = new int[]{ 3, 5, 1, 9 };
int[,] matriisi1 = new int[4, 5];
......@@ -35,12 +33,58 @@ public class Matriisit
Console.WriteLine("Paikassa 2,1: " + matriisi[2, 1]);
int rivi = MiltaRiviltaLoytyy(matriisi, 8);
Console.WriteLine($"Löytyi riviltä {rivi}");
matriisi1[3, 2] = 99;
Tulosta(matriisi1);
}
// TÄYDENNÄ
/// <summary>
/// Etsitään miltä riviltä löytyy etsittävä luku
/// </summary>
/// <param name="mat">Matriisi josta etsitään</param>
/// <param name="etsittava">luku jota etsitään</param>
/// <returns>rivi, jolta luku löytyy. Jos usealla rivillä, palautetaan 1. indeksi.
/// jos ei löydy lainkaan, palautetaan -1.</returns>
/// <example>
/// <pre name="test">
/// int[,] m = {{2,4,1},{9,2,0},{5,6,1},{0,12,3}};
/// MiltaRiviltaLoytyy(m,1) === 0;
/// MiltaRiviltaLoytyy(m,0) === 1;
/// MiltaRiviltaLoytyy(m,12) === 3;
/// MiltaRiviltaLoytyy(m,11) === -1;
/// </pre>
/// </example>
public static int MiltaRiviltaLoytyy(int[,] mat, int etsittava)
{
int riveja = mat.GetLength(0);
int sarkkeita = mat.GetLength(1);
for (int iy = 0; iy < riveja; iy++)
{
for (int ix = 0; ix < sarkkeita; ix++)
{
int luku = mat[iy, ix];
if (luku == etsittava) return iy;
}
}
return -1;
}
/// <summary>
/// Tulostetaan matriisin alkiot riveittäin.
/// Kukin alkio vie kahden merkin kokoisen tilan.
/// </summary>
/// <param name="mat">tulostettava matriisi</param>
public static void Tulosta(int[,] mat)
{
}
}
\ No newline at end of file
using System;
using NUnit.Framework;
using static Matriisit;
[TestFixture]
[DefaultFloatingPointTolerance(0.000001)]
public class TestMatriisit
{
[Test]
public void TestMiltaRiviltaLoytyy52()
{
int[,] m = {{2,4,1},{9,2,0},{5,6,1},{0,12,3}};
Assert.AreEqual( 0, MiltaRiviltaLoytyy(m,1) , "in method MiltaRiviltaLoytyy, line 54");
Assert.AreEqual( 1, MiltaRiviltaLoytyy(m,0) , "in method MiltaRiviltaLoytyy, line 55");
Assert.AreEqual( 3, MiltaRiviltaLoytyy(m,12) , "in method MiltaRiviltaLoytyy, line 56");
Assert.AreEqual( -1, MiltaRiviltaLoytyy(m,11) , "in method MiltaRiviltaLoytyy, line 57");
}
}
<?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>
using System;
using NUnit.Framework;
using static SuurinJaPienin;
[TestFixture]
[DefaultFloatingPointTolerance(0.000001)]
public class TestSuurinJaPienin
{
[Test]
public void TestPienin51()
{
Assert.AreEqual( 1, Pienin(new int[]{1, 2 ,3}) , "in method Pienin, line 52");
Assert.AreEqual( 1, Pienin(new int[]{1, 3 ,2}) , "in method Pienin, line 53");
Assert.AreEqual( 1, Pienin(new int[]{2, 1, 3}) , "in method Pienin, line 54");
Assert.AreEqual( 1, Pienin(new int[]{2, 3, 1}) , "in method Pienin, line 55");
Assert.AreEqual( 1, Pienin(new int[]{3, 1 ,2}) , "in method Pienin, line 56");
Assert.AreEqual( 1, Pienin(new int[]{3, 2 ,1}) , "in method Pienin, line 57");
Assert.AreEqual( 2, Pienin(new int[]{3, 3, 2}) , "in method Pienin, line 58");
Assert.AreEqual( 3, Pienin(new int[]{3, 3, 3}) , "in method Pienin, line 59");
Assert.AreEqual( 1, Pienin(new int[]{1, 2}) , "in method Pienin, line 60");
Assert.AreEqual( 2, Pienin(new int[]{2}) , "in method Pienin, line 61");
Assert.AreEqual( int.MaxValue, Pienin(new int[]{}) , "in method Pienin, line 62");
}
[Test]
public void TestSuurin82()
{
Assert.AreEqual( 3, Suurin(new int[]{1, 2 ,3}) , "in method Suurin, line 83");
Assert.AreEqual( 3, Suurin(new int[]{1, 3 ,2}) , "in method Suurin, line 84");
Assert.AreEqual( 3, Suurin(new int[]{2, 1, 3}) , "in method Suurin, line 85");
Assert.AreEqual( 3, Suurin(new int[]{2, 3, 1}) , "in method Suurin, line 86");
Assert.AreEqual( 3, Suurin(new int[]{3, 1 ,2}) , "in method Suurin, line 87");
Assert.AreEqual( 3, Suurin(new int[]{3, 2 ,1}) , "in method Suurin, line 88");
Assert.AreEqual( 4, Suurin(new int[]{4, 2, 4}) , "in method Suurin, line 89");
Assert.AreEqual( 1, Suurin(new int[]{1, 1, 1}) , "in method Suurin, line 90");
Assert.AreEqual( 2, Suurin(new int[]{1, 2 }) , "in method Suurin, line 91");
Assert.AreEqual( 1, Suurin(new int[]{1 }) , "in method Suurin, line 92");
Assert.AreEqual( 0, Suurin(new int[]{ }) , "in method Suurin, line 93");
}
[Test]
public void TestPienin3116()
{
Assert.AreEqual( 1, Pienin3(new int[]{1, 2 ,3}) , "in method Pienin3, line 117");
Assert.AreEqual( 1, Pienin3(new int[]{1, 3 ,2}) , "in method Pienin3, line 118");
Assert.AreEqual( 1, Pienin3(new int[]{2, 1, 3}) , "in method Pienin3, line 119");
Assert.AreEqual( 1, Pienin3(new int[]{2, 3, 1}) , "in method Pienin3, line 120");
Assert.AreEqual( 1, Pienin3(new int[]{3, 1 ,2}) , "in method Pienin3, line 121");
Assert.AreEqual( 1, Pienin3(new int[]{3, 2 ,1}) , "in method Pienin3, line 122");
Assert.AreEqual( 2, Pienin3(new int[]{3, 3, 2}) , "in method Pienin3, line 123");
Assert.AreEqual( 3, Pienin3(new int[]{3, 3, 3}) , "in method Pienin3, line 124");
}
[Test]
public void TestSuurin3145()
{
Assert.AreEqual( 3, Suurin3(new int[]{1, 2 ,3}) , "in method Suurin3, line 146");
Assert.AreEqual( 3, Suurin3(new int[]{1, 3 ,2}) , "in method Suurin3, line 147");
Assert.AreEqual( 3, Suurin3(new int[]{2, 1, 3}) , "in method Suurin3, line 148");
Assert.AreEqual( 3, Suurin3(new int[]{2, 3, 1}) , "in method Suurin3, line 149");
Assert.AreEqual( 3, Suurin3(new int[]{3, 1 ,2}) , "in method Suurin3, line 150");
Assert.AreEqual( 3, Suurin3(new int[]{3, 2 ,1}) , "in method Suurin3, line 151");
Assert.AreEqual( 4, Suurin3(new int[]{4, 2, 4}) , "in method Suurin3, line 152");
Assert.AreEqual( 1, Suurin3(new int[]{1, 1, 1}) , "in method Suurin3, line 153");
try
{
Assert.AreEqual( 1, Suurin3(new int[]{1, 1 }) , "in method Suurin3, line 154");
Assert.Fail("Did not throw IndexOutOfRangeException in method Suurin3 on line 153");
}
catch (IndexOutOfRangeException)
{
}
Assert.IsTrue( System.Text.RegularExpressions.Regex.Matches(("ABC" ).ToString(), ( "A.C").ToString()).Count > 0, "in method Suurin3, line 155 with actual value [" + "ABC" + "]" );
}
[Test]
public void TestSuurimmanPaikka173()
{
int[] luvut = {2,5,4,3};
Assert.AreEqual( 1, SuurimmanPaikka(luvut) , "in method SuurimmanPaikka, line 175");
Assert.AreEqual( 0, SuurimmanPaikka(new int[]{3,2,1}) , "in method SuurimmanPaikka, line 176");
Assert.AreEqual( 1, SuurimmanPaikka(new int[]{3,4,1}) , "in method SuurimmanPaikka, line 177");
Assert.AreEqual( 2, SuurimmanPaikka(new int[]{3,2,5}) , "in method SuurimmanPaikka, line 178");
Assert.AreEqual( 0, SuurimmanPaikka(new int[]{3}) , "in method SuurimmanPaikka, line 179");
Assert.AreEqual( -1, SuurimmanPaikka(new int[]{}) , "in method SuurimmanPaikka, line 180");
}
[Test]
public void TestVaihdaSuurin206()
{
int[] luvut = {2,5,4,3};
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 4 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 209");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 211");
VaihdaSuurin(luvut,9);
Assert.AreEqual( "2 1 1 9", String.Join(" ",luvut) , "in method VaihdaSuurin, line 213");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 215");
VaihdaSuurin(luvut,-1);
Assert.AreEqual( "-1 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 217");
luvut = new int[]{5};
VaihdaSuurin(luvut,2);
Assert.AreEqual( "2", String.Join(" ",luvut) , "in method VaihdaSuurin, line 220");
luvut = new int[0];
VaihdaSuurin(luvut,2);
Assert.AreEqual( "", String.Join(" ",luvut) , "in method VaihdaSuurin, line 223");
}
[Test]
public void TestTayta240()
{
int[] luvut = {1,2,3,4};
Tayta(luvut,5);
Assert.AreEqual( "5 5 5 5", String.Join(" ",luvut) , "in method Tayta, line 243");
}
[Test]
public void TestEtsi264()
{
int[] luvut = {1,2,3,4,3,2,0};
Assert.AreEqual( -1, Etsi(luvut,5) , "in method Etsi, line 266");
Assert.AreEqual( 3, Etsi(luvut,4) , "in method Etsi, line 267");
Assert.AreEqual( 0, Etsi(luvut,1) , "in method Etsi, line 268");
Assert.AreEqual( 6, Etsi(luvut,0) , "in method Etsi, line 269");
Assert.AreEqual( 1, Etsi(luvut,2) , "in method Etsi, line 270");
Assert.AreEqual( -1, Etsi(new int[]{},1) , "in method Etsi, line 271");
}
}
<?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="..\SuurinJaPienin\SuurinJaPienin.csproj"/>
</ItemGroup>
</Project>

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Olioviitteet", "Olioviitteet\Olioviitteet.csproj", "{58B3B602-33E5-470A-B67B-30A99D6A88D1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Matriisit", "Matriisit\Matriisit.csproj", "{EE1FB694-64F7-4F2F-9087-870D228728C9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SuurinJaPienin", "SuurinJaPienin\SuurinJaPienin.csproj", "{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MatriisitTest", "MatriisitTest\MatriisitTest.csproj", "{C0EDB357-E7AB-4E33-A5B8-412957F962D0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SuurinJaPieninTest", "SuurinJaPieninTest\SuurinJaPieninTest.csproj", "{4FCEB08A-F7AD-41E1-9B77-32259806AB58}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Release|Any CPU.Build.0 = Release|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Release|Any CPU.Build.0 = Release|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Release|Any CPU.Build.0 = Release|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Release|Any CPU.Build.0 = Release|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Release|Any CPU.Build.0 = Release|Any CPU
{C0EDB357-E7AB-4E33-A5B8-412957F962D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0EDB357-E7AB-4E33-A5B8-412957F962D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C0EDB357-E7AB-4E33-A5B8-412957F962D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C0EDB357-E7AB-4E33-A5B8-412957F962D0}.Release|Any CPU.Build.0 = Release|Any CPU
{4FCEB08A-F7AD-41E1-9B77-32259806AB58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4FCEB08A-F7AD-41E1-9B77-32259806AB58}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4FCEB08A-F7AD-41E1-9B77-32259806AB58}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4FCEB08A-F7AD-41E1-9B77-32259806AB58}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Olioviitteet", "Olioviitteet\Olioviitteet.csproj", "{58B3B602-33E5-470A-B67B-30A99D6A88D1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Matriisit", "Matriisit\Matriisit.csproj", "{EE1FB694-64F7-4F2F-9087-870D228728C9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SuurinJaPienin", "SuurinJaPienin\SuurinJaPienin.csproj", "{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Release|Any CPU.Build.0 = Release|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EE1FB694-64F7-4F2F-9087-870D228728C9}.Release|Any CPU.Build.0 = Release|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{72C0ED96-17F6-407A-9DD9-B93189BAA7FE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/contentModel.xml
/.idea.live12.iml
/projectSettingsUpdater.xml
/modules.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>
\ No newline at end of file
using System;
/// @author Vesa Lappalainen
/// @version 12.10.2012
/// <summary>
/// Esimerkkjä aliohjelmien kutsumisesta
/// </summary>
public class Kutsuminen
{
/// <summary>
/// Kutsutaan aliohjelmia
/// </summary>
/// <param name="args">ei käytössä</param>
public static void Main(string[] args)
{
int a = 4, b = 5;
int iso;
iso = Suurempi(a, b);
Console.WriteLine(iso);
iso = Suurempi(iso + 1, 7 / 3 + 5 / 2);
Console.WriteLine(iso);
int[] luvut = new int[4];
int[] m = luvut;
luvut[2] = 4;
luvut[1] = 6;
m[3] = iso + 3;
VaihdaSuurin(luvut, 5);
Console.WriteLine(String.Join(" ", luvut));
}
/// <summary>
/// Palautetaan kahdesta luvusta suurempi
/// </summary>
/// <param name="luku1">eka luku</param>
/// <param name="luku2">toinen luku</param>
/// <returns>suurempi luvuista</returns>
/// <example>
/// <pre name="test">
/// Suurempi(3,4) === 4;
/// Suurempi(-3,4) === 4;
/// Suurempi(-3,-4) === -3;
/// Suurempi(2,2) === 2;
/// </pre>
/// </example>
public static int Suurempi(int luku1, int luku2)
{
if (luku1 >= luku2) return luku1;
return luku2;
}
/// <summary>
/// Vaihdetaan taulukon suurin alkio halutuksi.
/// </summary>
/// <param name="t">taulukko josta suurinta etsitään ja missä suurin vaihdetaan</param>
/// <param name="korvaavaArvo">suurimman alkion uusi arvo</param>
/// <example>
/// <pre name="test">
/// int[] luvut = {2,5,4,3};
/// VaihdaSuurin(luvut,1);
/// String.Join(" ",luvut) === "2 1 4 3";
/// VaihdaSuurin(luvut,1);
/// String.Join(" ",luvut) === "2 1 1 3";
/// VaihdaSuurin(luvut,9);
/// String.Join(" ",luvut) === "2 1 1 9";
/// VaihdaSuurin(luvut,1);
/// String.Join(" ",luvut) === "2 1 1 1";
/// VaihdaSuurin(luvut,-1);
/// String.Join(" ",luvut) === "-1 1 1 1";
/// luvut = new int[]{5};
/// VaihdaSuurin(luvut,2);
/// String.Join(" ",luvut) === "2";
/// luvut = new int[0];
/// VaihdaSuurin(luvut,2);
/// String.Join(" ",luvut) === "";
/// </pre>
/// </example>
public static void VaihdaSuurin(int[] t, int korvaavaArvo)
{
int paikka = -1;
int suurin = int.MinValue;
for (int i = 0; i < t.Length; i++)
{
int luku = t[i];
if (luku > suurin)
{
suurin = luku;
paikka = i;
}
}
if (paikka < 0) return;
t[paikka] = korvaavaArvo;
}
}
\ 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 NUnit.Framework;
using static Kutsuminen;
[TestFixture]
[DefaultFloatingPointTolerance(0.000001)]
public class TestKutsuminen
{
[Test]
public void TestSuurempi45()
{
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");
}
[Test]
public void TestVaihdaSuurin65()
{
int[] luvut = {2,5,4,3};
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 4 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 68");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 70");
VaihdaSuurin(luvut,9);
Assert.AreEqual( "2 1 1 9", String.Join(" ",luvut) , "in method VaihdaSuurin, line 72");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 74");
VaihdaSuurin(luvut,-1);
Assert.AreEqual( "-1 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 76");
luvut = new int[]{5};
VaihdaSuurin(luvut,2);
Assert.AreEqual( "2", String.Join(" ",luvut) , "in method VaihdaSuurin, line 79");
luvut = new int[0];
VaihdaSuurin(luvut,2);
Assert.AreEqual( "", String.Join(" ",luvut) , "in method VaihdaSuurin, line 82");
}
}
<?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="..\Kutsuminen\Kutsuminen.csproj"/>
</ItemGroup>
</Project>

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kutsuminen", "Kutsuminen\Kutsuminen.csproj", "{5635397F-1736-45C5-B505-2165D4D953A5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KutsuminenTest", "KutsuminenTest\KutsuminenTest.csproj", "{721E3A06-DA2D-4572-A815-BC11B5CBC6B1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5635397F-1736-45C5-B505-2165D4D953A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5635397F-1736-45C5-B505-2165D4D953A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5635397F-1736-45C5-B505-2165D4D953A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5635397F-1736-45C5-B505-2165D4D953A5}.Release|Any CPU.Build.0 = Release|Any CPU
{721E3A06-DA2D-4572-A815-BC11B5CBC6B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{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
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kutsuminen", "Kutsuminen\Kutsuminen.csproj", "{5635397F-1736-45C5-B505-2165D4D953A5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5635397F-1736-45C5-B505-2165D4D953A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5635397F-1736-45C5-B505-2165D4D953A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5635397F-1736-45C5-B505-2165D4D953A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5635397F-1736-45C5-B505-2165D4D953A5}.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