0
コードを書く必要があります。コードを最初にファイルから読み込んで表示する必要があります。また、行列の列を合計し、最大の和を見つけて表示する必要があります。コンパイラは23行目に配列型の式への代入とエラーがあると言っています。それを修正する方法(私が持っている他のすべての間違いに加えて)?配列型の式へのCエラーの割り当て
ありがとうございます。 私のcodeです。
#include <stdio.h>
#define ROWS 15
#define COLS 15
int readMatrix(int r,int c, int Matrix[ROWS][COLS]);
void printMatrix(int Matrix[ROWS][COLS], int r,int c);
int Sum(int Matrix[ROWS][COLS], int r,int c);
void Congratulations(int Matrix[COLS], int c);
int main(void)
{
int Sales[ROWS][COLS];
int Kokku[COLS];
int rows, cols;
int Matrix[ROWS][COLS];
scanf("%d", &rows); //loeb dokumendist ridade arvu
scanf("%d", &cols); //loeb dokumendist veergude arvu
readMatrix(rows, cols, Matrix); //maatriksi sisselugemine
printMatrix(Matrix, rows, cols); //maatriksi väljaprint
Kokku = Sum(Sales, rows, cols); //müügitulemuste arvutus
Congratulations(Kokku, cols); //Parima leidmine ja tunnustus
return 0;
}
int readMatrix(int r,int c, int Matrix[ROWS][COLS])
{
int i = 0, j = 0;
int sellingTable;
for(i = 0; i < r; i++)
{
for(j = 0; j < c; j++)
{
scanf("%d", &Matrix[i][j]);
sellingTable = i;
}
scanf("\n");
}
return sellingTable;
}
void printMatrix(int Matrix[ROWS][COLS], int r,int c)
{
int i, j;
printf("Tabel:");
j = 0;
do
{
printf("M%2d", j + 1);
j++;
}
while(j <= c);
for(i = 0; i < r; i++)
{
printf("Kaup%2d", i + 1);
for(j = 0; j < c; j++)
{
printf("%4d", Matrix[i][j]);
}
printf("\n");
}
}
int Sum(int Matrix[ROWS][COLS], int r,int c)
{
int i, j, sum;
int Summa[c];
printf("Kokku:");
for(j = 0, sum = 0; j < c; j++)
{
for(i = 0; i < r; i++)
{
sum = Matrix[i][j] + sum;
Summa[j] = sum;
}
printf("%4d", Summa[j]);
}
return sum;
}
void Congratulations(int Matrix[COLS], int c)
{
int j, temp;
for(j = 0; j < c; j++)
{
if(Matrix[j]>Matrix[j + 1])
{
temp = Matrix[j];
Matrix[j] = Matrix[j + 1];
Matrix[j + 1] = temp;
}
}
printf("Parim; nr %d, %d", c, Matrix[c]);
}
1.コードへのリンクを投稿しないでください。無効にすることができます。 2.エラーを特定し、該当するセクションのみを投稿します。 3. 'Sum'は' int'を返し、それを配列として割り当てようとしています( 'int Kokku [COLS]')。あなたのコンパイラは、問題が何であるかについてはっきりしています。どこに問題がありますか? – UnholySheep