1
1
#pragma warning disable CS8629
2
2
using OptimizationIssues . ViewModels ;
3
3
using System . Diagnostics ;
4
+ using System . Text ;
4
5
using System . Windows ;
5
6
using System . Windows . Controls ;
6
7
using System . Windows . Documents ;
@@ -149,5 +150,46 @@ private void InputsChanged(object sender, TextChangedEventArgs e)
149
150
{
150
151
SolveButton . IsEnabled = ValidateInputs ( out _ , out _ ) ;
151
152
}
153
+
154
+ private void GenerateSampleDataButton_Click ( object sender , RoutedEventArgs e )
155
+ {
156
+ Random rand = new Random ( ) ;
157
+
158
+ int numberOfCities = rand . Next ( 3 , 11 ) ;
159
+ NumberOfCitiesTextBox . Text = numberOfCities . ToString ( ) ;
160
+
161
+ var distanceMatrix = GenerateRandomDistanceMatrix ( numberOfCities ) ;
162
+ DistanceMatrixTextBox . Text = FormatDistanceMatrix ( distanceMatrix ) ;
163
+
164
+ SolveButton . IsEnabled = true ;
165
+ }
166
+
167
+ private List < List < int > > GenerateRandomDistanceMatrix ( int size )
168
+ {
169
+ Random rand = new Random ( ) ;
170
+ var matrix = new List < List < int > > ( ) ;
171
+
172
+ for ( int i = 0 ; i < size ; i ++ )
173
+ {
174
+ var row = new List < int > ( ) ;
175
+
176
+ for ( int j = 0 ; j < size ; j ++ )
177
+ row . Add ( i == j ? 0 : rand . Next ( 10 , 101 ) ) ;
178
+
179
+ matrix . Add ( row ) ;
180
+ }
181
+
182
+ return matrix ;
183
+ }
184
+
185
+ private string FormatDistanceMatrix ( List < List < int > > matrix )
186
+ {
187
+ var result = new StringBuilder ( ) ;
188
+
189
+ foreach ( var row in matrix )
190
+ result . AppendLine ( string . Join ( "," , row ) ) ;
191
+
192
+ return result . ToString ( ) ;
193
+ }
152
194
}
153
195
}
0 commit comments