首页 > 解决方案 > 将一组输入映射到另一个数组

问题描述

您好,我正在尝试做一个程序,我接收 14 个输入,然后将它们映射到网格(这是一个 2d 数组)上,我现在的问题是我无法弄清楚如何映射多个输入。在另一个问题上,我使用 switch 解决了这个问题,但在这个问题上,我看不到它在这里工作。

这是我的代码:

#include <stdio.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
 
int main () {
        int linhas = 5;
        int colunas = 6;
        char tabela[5][6];
        char pecas[] = {'R','r','P','P','P','P','P','P','p','p','p','p','p','p'}; ;
        char *coordenada[13][2];
        int i,j;
        memset (tabela, '.', sizeof tabela);
        i=0;
        j=0;
        while(i!=14){
            scanf("%s", coordenada[i]);
            printf("Peca[%d]=%c e coordenada[%d]=%s\n \n",i,pecas[i],i,coordenada[i]);
            i++;
        }
       for (int count = 5, p = 0; p < linhas; p++, count--)
        {
            printf ("%d:", count);
            for (int o = 0; o < colunas; o++)
                {
                printf ("%c", tabela[p][o]);
                }
            printf ("\n");
            }
            printf ("  abcdef");
}

另外我收到这些错误:

main.c: In function ‘main’:
main.c:21:21: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char **’ [-Wformat=]
             scanf("%s", coordenada[i]);
                     ^
main.c:22:51: warning: format ‘%s’ expects argument of type ‘char *’, but argument 5 has type ‘char **’ [-Wformat=]
             printf("Peca[%d]=%c e coordenada[%d]=%s\n \n",i,pecas[i],i,coordenada[i]);
                                                   ^

提前致谢。

标签: arraysc

解决方案


推荐阅读