0

There is two-dimensional, dynamical allocated table. Put elements inside to table and print them. Code:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int **tab;
    int ROWS=3;
    int COLUMNS=5;
    tab = (int**) malloc(ROWS * sizeof(int*));
    int i=0;
    for(i=0;i<ROWS; ++i)
    {
        tab[i] = (int*)malloc(COLUMNS * sizeof(int));
    }

    i=0;
    int j=0;
    for(;i<ROWS;++i)
    {
        for(;j<COLUMNS;++j)
        {
            tab[i][j]=6;
        }
    }

    i=0; j=0;
    for(;i<ROWS;++i)
    {
        for(;j<COLUMNS;++j)
        {
            printf("%i ", tab[i][j]);
        }
    }

    i=0;
    for(;i<ROWS;++i)
    {
        free(tab[i]);
    }
    free(tab);
}

Output Only one row?:

6 6 6 6 6

Output should looks like! (3 rows with 5 columns of 'six'):

6 6 6 6 6

6 6 6 6 6

6 6 6 6 6

user2856064
  • 541
  • 1
  • 8
  • 25

1 Answers1

0

Initialize inner loop from zero.

 for(;i<ROWS;++i)
    {
        for(j=0;j<COLUMNS;++j)
        { //^^^ Initialize j = 0
            tab[i][j]=6;
        }
    }

    i=0; j=0;
    for(;i<ROWS;++i)
    {
        for(j=0;j<COLUMNS;++j)
        { //^^^ Initialize j = 0
            printf("%i ", tab[i][j]);
        }
        printf("\n");
    }
msc
  • 33,420
  • 29
  • 119
  • 214