I am looking for some assistance with the isPair function. The function should tell me if there are two pairs in the 5 values. It is only robust enough to tell me if there is 1 pair.
I am trying to find if there are two matches of values 1-5 in the same columns in a 4x10 2D array.
-
There are numbers valued 1-5 randomly placed in the 2d array and I need to know if two sets are in the same column.
-
The remaining columns are rows are filled with the last 35 values, also randomly inserted throughout the rows and columns.
-
In the following example, I have inserted some ‘dummy’ data to test my output. The code successfully tells me if I have 1 match, but not if I have two matches.
-
This is hopefully clearer!
Pls note that this is not a search to find matching values in an array column - rather two see if there are two matches of the 1-5 values in the array.
Thx! Karen Stumped
#include <stdio.h>
#define FRUITS 4
#define NUMBERS 10
void isPair(unsigned int Go[NUMBERS]);
int main(void) {
unsigned int go[FRUITS][NUMBERS] = {0};
go[0][1] = 1;
go[1][1] = 2;
go[3][3] = 4;
go[3][4] = 5;
isPair(go);
}
void isPair(unsigned int Go[NUMBERS]) {
int a,b,x = 0;
size_t i,j, number, row0, row1, column;
for (i = 1; i <=5; ++i) {
for(j =1; j <=5 && j!=i; ++j) {
for (row0 = 0; row0 < FRUITS; ++row0) {
for (row1 = 0; row1 < FRUITS &&row1 != row0; ++row1) {
for (column = 0; column < NUMBERS; ++column) {
if ((Go[row0][column] ==i) && (Go[row1][column] ==j)) {
printf(“%s”, “A match!”);
}
}
}
}
}
}
}