#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define COLS 6
char* write_matrix_to_string(int matrix[][COLS], int rows, int cols) {
char* str = (char*)malloc(rows * (cols * 6 + 1) + 1);
str[0] = '\0';
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
char temp[11];
sprintf(temp, "%d\t", matrix[i][j]);
strcat(str, temp);
}
strcat(str, "\n");
}
return str;
}
int main()
{
int matrix[][COLS] = {
{ 4, 7, 9, 18, 29, 0 },
{ 1, 9, 18, 99, 4, 3 },
{ 9, 17, 89, 2, 7, 5 },
{ 19, 49, 6, 1, 9, 8 },
{ 29, 4, 7, 9, 18, 6 }
};
int rows = sizeof(matrix) / sizeof(matrix[0]);
char* str = write_matrix_to_string(matrix, rows, COLS);
printf("%s", str);
free(str);
}
/*
run:
4 7 9 18 29 0
1 9 18 99 4 3
9 17 89 2 7 5
19 49 6 1 9 8
29 4 7 9 18 6
*/