将2维数组分配给单个维度数组

时间:2015-11-14 20:43:52

标签: c arrays matrix multidimensional-array variable-assignment

我试图编写一个收集方阵矩阵对角线的程序。首先,当特定行的数量等于特定列的数量时,方阵的对角线是元素;它使用二维数组十分作为矩阵[size] [size](注意我使用了两次大小,因为方形矩阵需要为行和列提供相同的大小)。所以,我的问题是,我不知道将对角线分配给另一个单维数组(或者我可能不知道正确的方法)而不会出现错误" [警告]赋值在没有强制转换的情况下从指针生成整数"

我的代码就像这样(消息是用法语写的):

#include <stdio.h>

int main()
{
    int l;
    int i,j;
    printf("Donner la taille du matrice: ");
    scanf("%d",&l);
    //printf("Donner nombre de colones.\n");
    //scanf("%d",&c);

    int matrice[l][l];
    int diagonale[l];

    for(i=0;i<l;i++)
    {
        for(j=0;j<l;j++)
        {
            printf("Donner matrice[%d]",i);
            scanf("%d",&matrice[i]);
        }
    }
    for(i=0;i<l;i++)
    {
        for(j=0;j<l;j++)
        {
            if(i==j)
            {
                diagonale[i]=matrice[i,j];
            }
        }
    }
    for(i=0;i<l;i++)
    {
        printf("Le diagonale du la matrice est %d\n",diagonale[i]);
    }
    system("pause");
}

0 个答案:

没有答案