C语言对称矩阵压缩存储到一维数组后进行乘法运算,运算错误

问题遇到的现象和发生背景

C语言对称矩阵压缩存储到一维数组后进行乘法运算

用代码块功能插入代码,请勿粘贴截图
#include
//int Output(Arry *T,int N)
//{
//
//}
int main()
{
    int N;
    int t1[10];
    int t2[10];
    int i,j=0;
    int k=1;
    printf("请输入压缩矩阵的阶:\n");
    scanf("%d",&N);
    printf("请输入%d个压缩数值:\n",N*(N+1)/2);
    while(k<=N*(N+1)/2)//控制输入的数值的个数 
    {
        scanf("%d",&t1[i*(i+1)/2+j]);
        printf("数值=%d,在一位数组中的次序是%d\n",t1[i*(i+1)/2+j],i*(i+1)/2+j);
        i++;
        k++;
        if(i==N)
        {
            i=j+1;
            j++;
        }
    }
    printf("第一个矩阵如下:\n");
    //输出矩阵:
    for(i=0;ifor(j=0;jif(i>=j)
                printf("%3d",t1[i*(i+1)/2+j]);
            else
                printf("%3d",t1[j*(j+1)/2+i]);
        }
        printf("\n");    
    }
    i=0;j=0;k=1;
    printf("请输入%d个压缩数值:\n",N*(N+1)/2);
    while(k<=N*(N+1)/2)//控制输入的数值的个数 
    {
        scanf("%d",&t2[i*(i+1)/2+j]);
        printf("数值=%d,在一位数组中的次序是%d\n",t2[i*(i+1)/2+j],i*(i+1)/2+j);
        i++;
        k++;
        if(i==N)
        {
            i=j+1;
            j++;
        }
    }
    printf("第二个矩阵如下:\n");
    for(i=0;ifor(j=0;jif(i>=j)
                printf("%3d",t2[i*(i+1)/2+j]);
            else
                printf("%3d",t2[j*(j+1)/2+i]);
        }
        printf("\n");    
    }
    i=0;j=0;    
    //矩阵的乘法运算:
    int num=0;
    k=0;int count=0;
    for(i=0;ifor(j=0;jfor(k=0;k1)/2+i]*t2[k*(k+1)/2+j];
            }
            printf("%d   ",num);
            num=0;
        }    
    }    
}

运行结果及报错内容

我的这个乘法运算在输出矩阵的前两个数据还是没错的,第三个数据就开始出错了,也找不到问题在哪

我想要达到的结果

输出矩阵1和矩阵2相乘后的矩阵。