c++premier puls第10章授業後の答え
22228 ワード
2.プログラムを作成し、double配列を初期化し、配列内容を他の2つの配列にコピーします(3つの配列はすべてメインプログラムで宣言する必要があります).最初のコピーを作成する関数は配列記号を使用します.2番目のコピーを作成する関数は、ポインタ記号を使用し、ポインタのインクリメンタル操作を使用します.ターゲット配列名とコピーする要素の数をパラメータとして関数に渡します.すなわち、次の宣言が与えられた場合、関数呼び出しは以下のようにしなければならない.
#include
void copy_arr(double target1[],double source[],int n);
void copy_ptr(double *target2,double *source,int n);
void display(double *target,int n);
int main (void)
{
double source[5] ={1.1,1.2,1,6.4,7.8};
double target1[5];
double target2[5];
copy_arr(target1,source,5);
copy_arr(target2,source,5);
display(target1,5);
printf("
");
display(target2,5);
return 0;
}
void copy_arr(double target1[],double source[],int n)
{
int i;
for (i =0; i < n;i++)
{
target1[i] = source[i];
}
}
void copy_ptr(double target2[],double source[],int n)
{
int i;
for (i =0; i < n;i++)
{
*target2 = *source;
*target2 ++ = *source++;
}
}
void display(double *target,int n)
{
int i;
for ( i = 0; i < n; i ++)
{
printf("%2.2f ",*target++);
// target++;
}
}
#include
void cpp(double source[],double den1[], int len);
void cpp_2(double *source, double * denp, int len);
int main (void)
{
double source[5] = {1.0, 2.2, 3.8, 4.11, 5.335} ;
double den1 [5];
double denp[5];
cpp(source, den1, 5) ;
cpp_2 (source, denp, 5) ;
return 0;
}
void cpp(double source[],double den1[], int len)
{
int i;
for( i=0; i
3 , int
// 3
#include
int compare(int ar[], int len) ;
int main (void)
{
int i_arry[5] = {5, 18, 4, 28, 23} ;
int back ;
back = compare(i_arry,5) ;
printf(" :%d
",back) ;
return 0 ;
}
int compare(int ar[], int len) //
{
int i , t ;
for (i=0;i ar[i + 1] )
{
t = ar[i] ;
ar[i] = ar[i + 1] ;
ar[i + 1] = t ;
}
}
return ar[4] ;
}
// ;
#include
#define SIZE 5
int select_max(int *ptr,int n);
int main()
{
int array[SIZE] = {
1,2,3,4,5
};
int max;
max = select_max(array,SIZE);
printf("max is %d
",max);
return 0;
}
int select_max(int *ptr,int n)
{
int max = *ptr;
for(int i = 0 ; i < SIZE ; i++)
{
if(max < *ptr)
max = *ptr;
ptr++;
}
return max;
}
4. , double , 。
- #include
-
- #define SIZE 5
-
- int select_max(int *ptr,int n);
-
- int main()
- {
- int array[SIZE] = {
- 1,2,3,4,5
- };
- int max_index;
-
- max_index = select_max(array,SIZE);
- printf("max index is %d
",max_index);
- return 0;
- }
-
- int select_max(int *ptr,int n)
- {
- int max = *ptr;
- int max_index = 0;
- for(int i = 0 ; i
- {
- if(max
- {
- max = *ptr;
- max_index = i;
- }
-
- ptr++;
- }
- return max_index;
- }
5. , double , 。
- #include
-
- #define SIZE 5
-
- int D_value(int *ptr,int n);
-
- int main()
- {
- int array[SIZE] = {
- 1,2,3,4,5
- };
- int value;
-
- value = D_value(array,SIZE);
- printf("max - min = %d
",value);
- return 0;
- }
-
- int D_value(int *ptr,int n)
- {
- int max = *ptr;
- int min = *ptr;
- for(int i = 0 ; i
- {
- if(max
- {
- max = *ptr;
- }
- if(min > *ptr)
- min = *ptr;
-
- ptr++;
- }
- return max-min;
- }
6. , double , 2 ( , )。
// 6
#include
#define CLOS 2
void cpp(double ar[][2], double cp[][2], int len) ;
int main (void)
{
double arry[3][2] = { {1, 3}, {5, 7}, {9,11} } ;
double by[3][2] ;
cpp(arry, by, 3) ;
return 0 ;
}
void cpp(double ar[][2], double cp[][2], int rows)
{
int i, j ;
for (i=0;i