Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

40,026 questions

51,982 answers

573 users

How to write a matrix to a string in C

1 Answer

0 votes
#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

*/

 



answered Jul 12, 2024 by avibootz
...