This is my code and it works as expected. But after adding a rising integer (even though it has no influence on the code) my code doesn't work as expected
#include <iostream>
int i;
int j = 0;
int nums[] = {};
int co = 0;
void rq1() //rq = request
{
std::cout << ("How many numbers?");
std::cin >> i;
}
void rq2 ()
{
int n2 = 0;
for (int n = 1; n <= i; n++)
{
std::cout << n2 + 1 << (". number?");
std::cin >> nums[n2];
n2++;
}
}
void sort ()
{
for (int n4 = 0; n4 < i; n4++)
{
int k = j + 1;
for (int n3 = 1; n3 < i; n3++)
{
if (nums[j]==nums[k])
{
if (j<k) {std::cout << j << "," << k << std::endl; k++;}
else {k++; return;}
}
else {k++;}
}
j++;
}
}
int main()
{
rq1();
rq2();
sort();
}
Input: 4 numbers (1,2,1,2) Output: (0 , 2) (1 , 3)
But after adding co++ the Output is (0,2) but expected Output is (0 , 2) (1 , 3)
{
for (int n4 = 0; n4 < i; n4++ )
{
int k = j + 1;
for (int n3 = 1; n3 < i; n3++)
{
if (nums[j]==nums[k])
{
if (j<k) {std::cout << j << "," << k << std::endl; k++; co++;}
else {k++; return;}
}
else {k++;}
}
j++;
}
}
I don't know why my outputs changes. I mean int co
doesn't do anything else