promotion image of download ymail app
Promoted
匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 2 0 年前

誰能救救無助的我...關於c++(20點)..有點急

問題一:

輸入:矩陣A的列數M,行數N與矩陣A。

輸出:將A的第一列與最後一列互換。

問題二:

輸入:矩陣A的列數M,行數N與矩陣A。

輸出:每一列的第一個非零項的行數與值,若皆為零,則輸出”無非零項”。

{0 0 2 3}---------------輸出:

{0 0 0 0}---------------第1列的第一個非零項 2 在第 3 行

{5 2 0 0}---------------第2列無非零項

{0 6 0 7}---------------第3列的第一個非零項 5 在第 1 行

----------------------------第4列的第一個非零項 6 在第 2 行

已更新項目:

阿!!!!!~~~~~~要風ㄌ....

2 個已更新項目:

真是不好意思ㄟ....下次我會認真點ㄌ@@"

2 個解答

評分
  • 2 0 年前
    最佳解答

    這用迴圈應該很容易做,問題一如下,問題二可自己試試看int temp;for (int i=0; i<N; i++){    temp = A[0][i];    A[0][i] = A[M-1][i];    A[M-1][i] = temp;}補充結束前就幫你一次吧,下不為例#define M 4#define N 4int Matrix[M][N] = { {0, 0, 2, 3},     {0, 0, 0, 0},     {5, 2, 0, 0},     {0, 6, 0, 7} };int main(int argc, char* argv[]){ printf("Matrix 交換前:\n"); for (int i=0; i<M; i++) {  for (int j=0; j<N; j++)  {   printf("%2d", Matrix[i][j]);  }  printf("\n"); } for (i=0; i<N; i++) {  int Temp = Matrix[0][i];  Matrix[0][i] = Matrix[M-1][i];  Matrix[M-1][i] = Temp; } printf("\nMatrix 交換後:\n"); for (i=0; i<M; i++) {  for (int j=0; j<N; j++)  {   printf("%2d", Matrix[i][j]);  }  printf("\n"); } for (i=0; i<M; i++) {  for (int j=0; j<N; j++)  {   if (Matrix[i][j] != 0)    break;  }  if (j == N)   printf("第 %d 列無非零項\n", i+1);  else   printf("第 %d 列的第一個非零項 %d 在第 %d 行\n", i+1, Matrix[i][j], j+1); } return 0;}

    • Commenter avatar登入以對解答發表意見
  • 2 0 年前

    ㄅ好意思ㄟ...我試過ㄌ..還是ㄅ會...@@"

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。