第11講 配列を関数に送る
第2話 関数に1次元配列を送るの演習
の解答コード例
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部