Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

hi, im having trouble getting the \"no solution\" on this one, please see the co

ID: 3629654 • Letter: H

Question

hi, im having trouble getting the "no solution" on this one, please see the code,
when i input: (3 rows, 4 columns)
1 2 3 4
1 1 1 7
1 2 3 6
it should be "no solution" but i keep getting the infinitely many solution, what should i do?



Public Class Form1

Dim ctr As Integer
Dim pvt As Integer
Dim tmp As Decimal

Private Sub btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn.Click
Select Case ctr
Case 1 'select
'display
ListBox1.Items.Add("| " & g1x1.Text & vbTab & g1y1.Text & vbTab & g1z1.Text & vbTab & g1e1.Text & vbTab & "|")
ListBox1.Items.Add("| " & g1x2.Text & vbTab & g1y2.Text & vbTab & g1z2.Text & vbTab & g1e2.Text & vbTab & "|")
ListBox1.Items.Add("| " & g1x3.Text & vbTab & g1y3.Text & vbTab & g1z3.Text & vbTab & g1e3.Text & vbTab & "|")
If Abs(Val(g1x1.Text)) > Abs(Val(g1x2.Text)) And Abs(Val(g1x1.Text)) > Abs(Val(g1x3.Text)) Then
ListBox1.Items.Add("Pivot element in row 1")
pvt = 1
ElseIf Abs(Val(g1x2.Text)) > Abs(Val(g1x1.Text)) And Abs(Val(g1x2.Text)) > Abs(Val(g1x3.Text)) Then
ListBox1.Items.Add("Pivot element in row 2")
pvt = 2
Else
ListBox1.Items.Add("Pivot element in row 3")
pvt = 3
End If
btn.Text = "Interchange"
Case 2 'interchange
Select Case pvt
Case 1
ListBox1.Items.Add("No need to interchange")
Case 2
ListBox1.Items.Add("Interchange row 1 & 2")
tmp = Val(g1x1.Text)
g1x1.Text = g1x2.Text
g1x2.Text = tmp.ToString
tmp = Val(g1y1.Text)
g1y1.Text = g1y2.Text
g1y2.Text = tmp.ToString
tmp = Val(g1z1.Text)
g1z1.Text = g1z2.Text
g1z2.Text = tmp.ToString
tmp = Val(g1e1.Text)
g1e1.Text = g1e2.Text
g1e2.Text = tmp.ToString
Case 3
ListBox1.Items.Add("Interchange row 1 & 3")
tmp = Val(g1x1.Text)
g1x1.Text = g1x3.Text
g1x3.Text = tmp.ToString
tmp = Val(g1y1.Text)
g1y1.Text = g1y3.Text
g1y3.Text = tmp.ToString
tmp = Val(g1z1.Text)
g1z1.Text = g1z3.Text
g1z3.Text = tmp.ToString
tmp = Val(g1e1.Text)
g1e1.Text = g1e3.Text
g1e3.Text = tmp.ToString
End Select
'display
ListBox1.Items.Add("| " & g1x1.Text & vbTab & g1y1.Text & vbTab & g1z1.Text & vbTab & g1e1.Text & vbTab & "|")
ListBox1.Items.Add("| " & g1x2.Text & vbTab & g1y2.Text & vbTab & g1z2.Text & vbTab & g1e2.Text & vbTab & "|")
ListBox1.Items.Add("| " & g1x3.Text & vbTab & g1y3.Text & vbTab & g1z3.Text & vbTab & g1e3.Text & vbTab & "|")
btn.Text = "Normalize"
Case 3 'normalize
ListBox1.Items.Add("Normalize row 1")
tmp = Val(g1x1.Text)
g1x1.Text = (Val(g1x1.Text) / tmp).ToString
g1y1.Text = (Val(g1y1.Text) / tmp).ToString
g1z1.Text = (Val(g1z1.Text) / tmp).ToString
g1e1.Text = (Val(g1e1.Text) / tmp).ToString
'display
ListBox1.Items.Add("| " & Strings.Left(g1x1.Text, 5) & vbTab & Strings.Left(g1y1.Text, 5) & vbTab & Strings.Left(g1z1.Text, 5) & vbTab & Strings.Left(g1e1.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x2.Text, 5) & vbTab & Strings.Left(g1y2.Text, 5) & vbTab & Strings.Left(g1z2.Text, 5) & vbTab & Strings.Left(g1e2.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x3.Text, 5) & vbTab & Strings.Left(g1y3.Text, 5) & vbTab & Strings.Left(g1z3.Text, 5) & vbTab & Strings.Left(g1e3.Text, 5) & vbTab & "|")
btn.Text = "Eliminate"
Case 4 'eliminate
ListBox1.Items.Add("Eliminate row 2 & 3")
tmp = Val(g1x2.Text)
g1x2.Text = Val(g1x2.Text) - (tmp * Val(g1x1.Text))
g1y2.Text = Val(g1y2.Text) - (tmp * Val(g1y1.Text))
g1z2.Text = Val(g1z2.Text) - (tmp * Val(g1z1.Text))
g1e2.Text = Val(g1e2.Text) - (tmp * Val(g1e1.Text))
tmp = Val(g1x3.Text)
g1x3.Text = Val(g1x3.Text) - (tmp * Val(g1x1.Text))
g1y3.Text = Val(g1y3.Text) - (tmp * Val(g1y1.Text))
g1z3.Text = Val(g1z3.Text) - (tmp * Val(g1z1.Text))
g1e3.Text = Val(g1e3.Text) - (tmp * Val(g1e1.Text))
'display
ListBox1.Items.Add("| " & Strings.Left(g1x1.Text, 5) & vbTab & Strings.Left(g1y1.Text, 5) & vbTab & Strings.Left(g1z1.Text, 5) & vbTab & Strings.Left(g1e1.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x2.Text, 5) & vbTab & Strings.Left(g1y2.Text, 5) & vbTab & Strings.Left(g1z2.Text, 5) & vbTab & Strings.Left(g1e2.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x3.Text, 5) & vbTab & Strings.Left(g1y3.Text, 5) & vbTab & Strings.Left(g1z3.Text, 5) & vbTab & Strings.Left(g1e3.Text, 5) & vbTab & "|")
btn.Text = "Select"
Case 5 'select
If Abs(Val(g1y2.Text)) > Abs(Val(g1y3.Text)) Then
ListBox1.Items.Add("Pivot element in row 2")
pvt = 2
Else
ListBox1.Items.Add("Pivot element in row 3")
pvt = 3
End If
btn.Text = "Interchange"
Case 6 'interchange
Select Case pvt
Case 2
ListBox1.Items.Add("No need to interchange")
Case 3
ListBox1.Items.Add("Interchange row 2 & 3")
tmp = Val(g1x2.Text)
g1x2.Text = g1x3.Text
g1x3.Text = tmp.ToString
tmp = Val(g1y2.Text)
g1y2.Text = g1y3.Text
g1y3.Text = tmp.ToString
tmp = Val(g1z2.Text)
g1z2.Text = g1z3.Text
g1z3.Text = tmp.ToString
tmp = Val(g1e2.Text)
g1e2.Text = g1e3.Text
g1e3.Text = tmp.ToString
End Select
'display
ListBox1.Items.Add("| " & Strings.Left(g1x1.Text, 5) & vbTab & Strings.Left(g1y1.Text, 5) & vbTab & Strings.Left(g1z1.Text, 5) & vbTab & Strings.Left(g1e1.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x2.Text, 5) & vbTab & Strings.Left(g1y2.Text, 5) & vbTab & Strings.Left(g1z2.Text, 5) & vbTab & Strings.Left(g1e2.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x3.Text, 5) & vbTab & Strings.Left(g1y3.Text, 5) & vbTab & Strings.Left(g1z3.Text, 5) & vbTab & Strings.Left(g1e3.Text, 5) & vbTab & "|")
btn.Text = "Normalize"
Case 7 'normalize
ListBox1.Items.Add("Normalize row 2")
tmp = Val(g1y2.Text)
g1y2.Text = (Val(g1y2.Text) / tmp).ToString
g1z2.Text = (Val(g1z2.Text) / tmp).ToString
g1e2.Text = (Val(g1e2.Text) / tmp).ToString
'display
ListBox1.Items.Add("| " & Strings.Left(g1x1.Text, 5) & vbTab & Strings.Left(g1y1.Text, 5) & vbTab & Strings.Left(g1z1.Text, 5) & vbTab & Strings.Left(g1e1.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x2.Text, 5) & vbTab & Strings.Left(g1y2.Text, 5) & vbTab & Strings.Left(g1z2.Text, 5) & vbTab & Strings.Left(g1e2.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x3.Text, 5) & vbTab & Strings.Left(g1y3.Text, 5) & vbTab & Strings.Left(g1z3.Text, 5) & vbTab & Strings.Left(g1e3.Text, 5) & vbTab & "|")
btn.Text = "Eliminate"
Case 8 'eliminate
ListBox1.Items.Add("Eliminate row 1 & 3")
tmp = Val(g1y1.Text)
g1y1.Text = Val(g1y1.Text) - (tmp * Val(g1y2.Text))
g1z1.Text = Val(g1z1.Text) - (tmp * Val(g1z2.Text))
g1e1.Text = Val(g1e1.Text) - (tmp * Val(g1e2.Text))
tmp = Val(g1y3.Text)
g1y3.Text = Val(g1y3.Text) - (tmp * Val(g1y2.Text))
g1z3.Text = Val(g1z3.Text) - (tmp * Val(g1z2.Text))
g1e3.Text = Val(g1e3.Text) - (tmp * Val(g1e2.Text))
'display
ListBox1.Items.Add("| " & Strings.Left(g1x1.Text, 5) & vbTab & Strings.Left(g1y1.Text, 5) & vbTab & Strings.Left(g1z1.Text, 5) & vbTab & Strings.Left(g1e1.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x2.Text, 5) & vbTab & Strings.Left(g1y2.Text, 5) & vbTab & Strings.Left(g1z2.Text, 5) & vbTab & Strings.Left(g1e2.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x3.Text, 5) & vbTab & Strings.Left(g1y3.Text, 5) & vbTab & Strings.Left(g1z3.Text, 5) & vbTab & Strings.Left(g1e3.Text, 5) & vbTab & "|")
btn.Text = "Normalize"
Case 9 'normalize
ListBox1.Items.Add("Normalize row 3")
tmp = Val(g1z3.Text)
g1z3.Text = (Val(g1z3.Text) / tmp).ToString
g1e3.Text = (Val(g1e3.Text) / tmp).ToString
'display
ListBox1.Items.Add("| " & Strings.Left(g1x1.Text, 5) & vbTab & Strings.Left(g1y1.Text, 5) & vbTab & Strings.Left(g1z1.Text, 5) & vbTab & Strings.Left(g1e1.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x2.Text, 5) & vbTab & Strings.Left(g1y2.Text, 5) & vbTab & Strings.Left(g1z2.Text, 5) & vbTab & Strings.Left(g1e2.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x3.Text, 5) & vbTab & Strings.Left(g1y3.Text, 5) & vbTab & Strings.Left(g1z3.Text, 5) & vbTab & Strings.Left(g1e3.Text, 5) & vbTab & "|")
btn.Text = "Eliminate"
Case 10 'eliminate
ListBox1.Items.Add("Eliminate row 1 & 2")
tmp = Val(g1z1.Text)
g1z1.Text = Val(g1z1.Text) - (tmp * Val(g1z3.Text))
g1e1.Text = Val(g1e1.Text) - (tmp * Val(g1e3.Text))
tmp = Val(g1z2.Text)
g1z2.Text = Val(g1z2.Text) - (tmp * Val(g1z3.Text))
g1e2.Text = Val(g1e2.Text) - (tmp * Val(g1e3.Text))
'display
ListBox1.Items.Add("| " & Strings.Left(g1x1.Text, 5) & vbTab & Strings.Left(g1y1.Text, 5) & vbTab & Strings.Left(g1z1.Text, 5) & vbTab & Strings.Left(g1e1.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x2.Text, 5) & vbTab & Strings.Left(g1y2.Text, 5) & vbTab & Strings.Left(g1z2.Text, 5) & vbTab & Strings.Left(g1e2.Text, 5) & vbTab & "|")
ListBox1.Items.Add("| " & Strings.Left(g1x3.Text, 5) & vbTab & Strings.Left(g1y3.Text, 5) & vbTab & Strings.Left(g1z3.Text, 5) & vbTab & Strings.Left(g1e3.Text, 5) & vbTab & "|")
ListBox1.Items.Add("Done!")

Case 11 'identify solution

If Abs(Val(g1x3.Text)) = 0 And Abs(Val(g1y3.Text)) = 0 And Abs(Val(g1z3.Text)) = 0 And Abs(Val(g1e3.Text)) = 0 Then
ListBox1.Items.Add("Infinitely many solution")

ElseIf Abs(Val(g1x2.Text)) = 0 And Abs(Val(g1y2.Text)) = 0 And Abs(Val(g1z2.Text)) = 0 Or Abs(Val(g1x3.Text)) = 0 And Abs(Val(g1y3.Text)) = 0 And Abs(Val(g1z3.Text)) = 0 Then
ListBox1.Items.Add("No solution")

End If

btn.Enabled = False
btn.Text = "Done!"
End Select
ctr = ctr + 1
End Sub

Explanation / Answer

Note: next time please provide me with the form design code. wasted my whole time in that. Note: i used Integer.Parse() instead of Val(), its the same thing. you will get a NaN (i.e. Not-a-Number) will not be "valuated" to 0; therefore you will always get "indefinite solutions" as per the logic defined in your code. so please check for a NaN as well as Infinite [you can keep a range for the number ] before using val or any other parsing function. g1z3.Text = (Integer.Parse(g1z3.Text) / tmp).ToString, etc.. Please rate!