第11講 配列を関数に送る 
第2話 関数に1次元配列を送るの演習
Java
の解答コード例
class s{ //EclipseによるJava入門の場合はpublic class A{
  public static void main(String args[]){
    int[] x=new int[10];
    int[] y=new int[10];
    int[] z=new int[10];
    int i;
    for(i=0;i<10;i++){
      x[i]=(int)(Math.random()*100);
      y[i]=(int)(Math.random()*100);
    }
    System.out.println("配列xのデータ");
    for(i=0;i<10;i++){
      if(x[i]<10){
        System.out.print ("  ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=10 && x[i]<100){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=100 && x[i]<1000){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>1000){
        System.out.print(x[i]);
        System.out.print (" ");
      }
    }
    System.out.println();
    System.out.println("配列yのデータ");
    for(i=0;i<10;i++){
      if(y[i]<10){
        System.out.print ("  ");
        System.out.print(y[i]);
        System.out.print (" ");
      }
      if(y[i]>=10 && x[i]<100){
        System.out.print (" ");
        System.out.print(y[i]);
        System.out.print (" ");
      }
      if(y[i]>=100 && x[i]<1000){
        System.out.print (" ");
        System.out.print(y[i]);
        System.out.print (" ");
      }
      if(y[i]>1000){
        System.out.print(y[i]);
        System.out.print (" ");
      }
    }
    System.out.println();
    f(x,z);
    System.out.println("配列zにコピー");
    for(i=0;i<10;i++){
      if(x[i]<10){
        System.out.print ("  ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=10 && x[i]<100){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=100 && x[i]<1000){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>1000){
        System.out.print(x[i]);
        System.out.print (" ");
      }
    }
    System.out.println();
    System.out.println("配列xと配列yのデータを加える");
    h(x,y);
    for(i=0;i<10;i++){
      if(x[i]<10){
        System.out.print ("  ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=10 && x[i]<100){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=100 && x[i]<1000){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>1000){
        System.out.print(x[i]);
        System.out.print (" ");
      }
    }
    g(x,z);
    System.out.println();
    System.out.println("配列xの復元");
    for(i=0;i<10;i++){
      if(x[i]<10){
        System.out.print ("  ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=10 && x[i]<100){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=100 && x[i]<1000){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>1000){
        System.out.print(x[i]);
        System.out.print (" ");
      }
    }
    System.out.println();
    System.out.println("配列xと配列yのデータを掛ける");
    i(x,y);
    for(i=0;i<10;i++){
      if(x[i]<10){
        System.out.print ("  ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=10 && x[i]<100){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=100 && x[i]<1000){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>1000){
        System.out.print(x[i]);
        System.out.print (" ");
      }
    }
    g(x,z);
    System.out.println();
    System.out.println("配列xの復元");
    for(i=0;i<10;i++){
      if(x[i]<10){
        System.out.print ("  ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=10 && x[i]<100){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=100 && x[i]<1000){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>1000){
        System.out.print(x[i]);
        System.out.print (" ");
      }
    }
    System.out.println();
    System.out.println("配列xと配列yのデータの差を取る");
    j(x,y);
    for(i=0;i<10;i++){
      if(x[i]<10){
        System.out.print ("  ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=10 && x[i]<100){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>=100 && x[i]<1000){
        System.out.print (" ");
        System.out.print(x[i]);
        System.out.print (" ");
      }
      if(x[i]>1000){
        System.out.print(x[i]);
        System.out.print (" ");
      }
    }
  }
  public static void f(int x[],int z[]){
    int i;
    for(i=0;i<10;i++)z[i]=x[i];
  }
  public static void g(int x[],int z[]){
    int i;
    for(i=0;i<10;i++)x[i]=z[i];
  }
  public static void h(int x[],int y[]){
    int i;
    for(i=0;i<10;i++)x[i]=x[i]+y[i];
  }
  public static void i(int x[],int y[]){
    int i;
    for(i=0;i<10;i++)x[i]=x[i]*y[i];
  }
  public static void j(int x[],int y[]){
    int i;
    for(i=0;i<10;i++){
      if(x[i]>=y[i])x[i]=x[i]-y[i];
      if(x[i]<y[i])x[i]=y[i]-x[i];
    }
  }
}


次話の課題は、2次元配列を関数fに送り、fはそれを2倍にするとします。
入門

第1話へ 第3話へ

戻る

VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座

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