I'm trying to do the task in the title but I run into issues in the loop of getting every third index from the array.
double[] N = new double[3];
int[] M = new int[9];
int j = 0;
for (int i = 0; i < M.Length; i++)
{
if (i == 2 || i == 5 || i == 8)
{
Console.WriteLine("1 = sum of 2 numbers before");
Console.WriteLine("2 = the difference 2 numbers before");
Console.WriteLine("3 = multiply 2 numbers before");
Console.WriteLine("4 = divide 2 numbers before");
Console.Write("Enter number between 1-4: ");
M[i] = int.Parse(Console.ReadLine());
if (M[i] > 4)
{
Console.WriteLine("This number is'nt allowed");
break;
}
}
else
{
Console.Write("Enter number: ");
M[i] = int.Parse(Console.ReadLine());
}
}
for (int i = 2; i < M.Length; i += 3)
{
if (M[i] == 1)
{
N[j] = (M[i - 2] + M[i - 1]);
}else if(M[i] == 2)
{
N[j] = Math.Abs(M[i - 2] - M[i - 1]);
}else if (M[i] == 3)
{
N[j] = (M[i - 2] * M[i - 1]);
}
else
{
N[j] = (double) M[i - 2] / M[i - 1];
}
}
for (int i = 0; i < N.Length; i++)
{
Console.Write($"{N[i]} ");
}
as you can see I'm taking the M array and in every third number I have a choice of summing, subtracting, multiplying or dividing. what I want to do is to put all the answers from the math equations in another array (N) my problem is in the second loop because after I input all the numbers I want it takes only the last math equation and dumps everything else. for example:
Enter number: 1
Enter number: 2
1 = sum of 2 numbers before
2 = difference 2 numbers before
3 = multiply 2 numbers before
4 = divide 2 numbers before
Enter number between 1-4: 1
Enter number: 4
Enter number: 5
1 = sum of 2 numbers before
2 = difference 2 numbers before
3 = multiply 2 numbers before
4 = divide 2 numbers before
Enter number between 1-4: 2
Enter number: 6
Enter number: 6
1 = sum of 2 numbers before
2 = difference 2 numbers before
3 = multiply 2 numbers before
4 = divide 2 numbers before
Enter number between 1-4: 3
36 0 0
as you can see it takes only the last math answer(6 * 6 = 36) and puts it in the N array the other are 0.