fork download
  1. /*
  2.   C/C++の宿題片付けます 161代目
  3.   http://t...content-available-to-author-only...h.net/test/read.cgi/tech/1354070278/
  4.   125 名前:デフォルトの名無しさん [sage]: 2012/12/06(木) 10:12:21.78
  5.   [1] 授業単元:c言語 関数&配列
  6.   [2] 問題文 関数配列の問題です。
  7.   http://www.dotup.org/uploda/www.dotup.org3703015.pdf
  8.   [3] 環境
  9.    [3.1] OS: Linux
  10.    [3.2] コンパイラ名とバージョン: gcc
  11.    [3.3] 言語: C
  12.   [4] 期限:12/11
  13.   ポインターは使わずによろしくお願いいたします
  14.   3.
  15. */
  16. #include<stdio.h>
  17.  
  18. #define MtM (2) // 行
  19. #define MtN (3) // 列
  20.  
  21. void disp_matrix(double m[MtM][MtN])
  22. {
  23. int g, r;
  24. for (g = 0; g < MtM; g++) {
  25. printf("| ");
  26. for (r = 0; r < MtN; r++) {
  27. printf("%f ", m[g][r]);
  28. }
  29. printf("|\n");
  30. }
  31. }
  32.  
  33. void addmat(double mA[MtM][MtN], double mB[MtM][MtN], double mC[MtM][MtN])
  34. {
  35. int g, r;
  36. for (g = 0; g < MtM; g++) {
  37. for (r = 0; r < MtN; r++) {
  38. mC[g][r] = mA[g][r] + mB[g][r];
  39. }
  40. }
  41. }
  42.  
  43. int main()
  44. {
  45. double matrix_A[MtM][MtN] = { {1.0, 2.0, 3.0}, {3.0, 4.0, 5.0} };
  46. double matrix_B[MtM][MtN] = { {5.0, 4.0, 3.0}, {2.0, 1.0, 0.0} };
  47. double matrix_C[MtM][MtN];
  48.  
  49. printf("A =\n");disp_matrix(matrix_A);
  50. printf("B =\n");disp_matrix(matrix_B);
  51.  
  52. printf("C = A + B =\n");
  53. addmat(matrix_A, matrix_B, matrix_C);
  54. disp_matrix(matrix_C);
  55.  
  56. return 0;
  57. }
Success #stdin #stdout 0.01s 1720KB
stdin
Standard input is empty
stdout
A =
| 1.000000 2.000000 3.000000 |
| 3.000000 4.000000 5.000000 |
B =
| 5.000000 4.000000 3.000000 |
| 2.000000 1.000000 0.000000 |
C = A + B =
| 6.000000 6.000000 6.000000 |
| 5.000000 5.000000 5.000000 |