Подтвердить что ты не робот

Печать 2D-массива в C

как я могу напечатать 2d-массив в c с помощью scanf для ввода пользователем, массив с именем grid [] [] и цикл for?

скажем, если пользователь вводит в 3 5, выход будет:

.....
.....
.....

Вот код, который я написал до сих пор (новичок здесь):

#include <stdio.h>

#define MAX 10

int main()
{
    int grid[MAX][MAX];
    int row, col;
    int i,j;

    printf("Please enter your grid size: ");
    scanf("%d %d", &row, &col);

    for (i=0; i<MAX; i++)
        for //i gave up here


}

Это лишь небольшая часть всего этапа моей задачи:

Enter number of rows and columns followed by list of words (hit enter twice to end list): 10 15
quick
brown
fox
jumped
over
lazy
dog

00  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
01  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
02  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
03  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
04  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
05  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
06  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
07  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
08  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
09  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
    0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 
  0. quick
  1. brown
  2. fox
  3. jumped
  4. over
  5. lazy
  6. dog

разрешены и должны быть включены в код: строковые функции - strlen(), strcpy(), strcat(), strchr(), strcmp(), strstr()

должен использовать 2d-массив

должен использовать fgets для слов. Вывод должен соответствовать точному формату.

4b9b3361

Ответ 1

Помогает ли это?

#include <stdio.h>

#define MAX 10

int main()
{
    char grid[MAX][MAX];
    int i,j,row,col;

    printf("Please enter your grid size: ");
    scanf("%d %d", &row, &col);


    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            grid[i][j] = '.';
            printf("%c ", grid[i][j]);
        }
        printf("\n");
    }

    return 0;
}

Ответ 2

Сначала вам нужно ввести два числа: num_rows и num_columns, возможно, используя argc и argv, затем выполните цикл for для печати точек.

int j=0;
int k=0;
for (k=0;k<num_columns;k++){
   for (j=0;j<num_rows;j++){
       printf(".");
   }
 printf("\n");
 }

вам нужно будет заменить точку чем-то еще позже.

Ответ 3

...
for(int i=0;i<3;i++){ //Rows
for(int j=0;j<5;j++){ //Cols
 printf("%<...>\t",var);
}
printf("\n");
}
...

учитывая, что <... > будет d, e, f, s, c... etc datatype... X)