第8講 配列を理解しよう
第5話 ランダム配列の行合計・列合計
解答コード例

class z{
  public static void main(String args[]){
    f();
  }
  public static void f(){
    int i,j,w;
    int[][] a=new int[4][4];
    for(i=0;i<4;i++){
      for(j=0;j<4;j++){
        a[i][j]=(int)(Math.random()*101);
      }
    }
    System.out.print ("             行合計");
    System.out.println();
    for(i=0;i<4;i++){
      w=0;
      System.out.print ("    ");
      for(j=0;j<4;j++){
        w+=a[i][j];
        if(a[i][j]<10){
          System.out.print (" ");
          System.out.print(a[i][j]);
          System.out.print (" ");
        }
        if(a[i][j]>=10 && a[i][j]<100){
          System.out.print (" ");
          System.out.print(a[i][j]);
          System.out.print (" ");
        }
        if(a[i][j]==100){
          System.out.print(a[i][j]);
          System.out.print (" ");
        }
      }
      System.out.print ("  ");
      if(w<10){
        System.out.print (" ");
        System.out.print (w);
      }
      if(w>=10 && w<100){
        System.out.print (" ");
        System.out.print (w);
      }
      if(w>100)System.out.print(w);
      System.out.print (" ");
      System.out.println();
    }
    System.out.print ("列合計 ");
    for(i=0;i<4;i++){
      w=0;
      for(j=0;j<4;j++){
        w+=a[j][i];
      }
      if(w<10){
        System.out.print (" ");
        System.out.print (w);
      }
      if(w>=10 && w<100){
        System.out.print (" ");
        System.out.print (w);
      }
      if(w>100)System.out.print(w);
      System.out.print (" ");
    }
  }
}

では次の課題です。
第7講では
入門
データの保存ができないため列の合計や最大値・最小値の算出を断念しましたが、
2次元配列を利用して
入門
それらを算出しましょう。
成績一覧表は、3次元ループを利用して作りました。
ですから、配列データは3次元的です。
3次元的なデータは、
a[10*i+j][k];
のよう工夫すれば2次元配列で扱えます。
では改良に挑戦しましょう。




第4話へ 第6話へ

戻る

VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部