#include <stdio.h>
#include <stdbool.h>
#define ROWS 3
#define COLS 3
bool columns_have_unique_numbers(int matrix[ROWS][COLS], int rows, int cols) {
for (int j = 0; j < cols; j++) {
bool seen[10000] = {false}; // Assuming numbers are between 0-9999
for (int i = 0; i < rows; i++) {
if (seen[matrix[i][j]]) {
return false; // Duplicate found in column
}
seen[matrix[i][j]] = true;
}
}
return true;
}
int main() {
int matrix1[ROWS][COLS] = {
{1, 4, 7},
{2, 5, 8},
{3, 6, 9}
};
int matrix2[ROWS][COLS] = {
{1, 4, 7},
{2, 4, 8},
{3, 6, 9}
};
printf("Matrix 1 columns have unique numbers: %s\n",
columns_have_unique_numbers(matrix1, ROWS, COLS) ? "true" : "false");
printf("Matrix 2 columns have unique numbers: %s\n",
columns_have_unique_numbers(matrix2, ROWS, COLS) ? "true" : "false");
return 0;
}
/*
run:
Matrix 1 columns have unique numbers: true
Matrix 2 columns have unique numbers: false
*/