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 , 。

 // 4 

#include 

int a_index(double ar[], int len) ;

int main (void)
{
    double d_arry[7] = {9.3, 11.5, 5.44, 12.6, 39.643, 40.05, 1.39} ;
    int back ;

    back = a_index(d_arry, 7) ;
    printf("       %d",back) ;

    return 0 ;
}

int a_index(double ar[], int len)
{
    double aa ;
    int back, i ;

    for (i=1,aa=ar[0];i


  1. #include  
  2.   
  3. #define SIZE 5  
  4.   
  5. int select_max(int *ptr,int n);  
  6.   
  7. int main()  
  8. {  
  9.     int array[SIZE] = {  
  10.         1,2,3,4,5  
  11.     };  
  12.     int max_index;  
  13.       
  14.     max_index = select_max(array,SIZE);  
  15.     printf("max index is %d
    "
    ,max_index);  
  16.     return 0;  
  17. }  
  18.   
  19. int select_max(int *ptr,int n)  
  20. {  
  21.     int max = *ptr;  
  22.     int max_index = 0;  
  23.     for(int i = 0 ; i 
  24.     {  
  25.         if(max 
  26.         {  
  27.              max = *ptr;  
  28.              max_index = i;  
  29.         }  
  30.             
  31.         ptr++;  
  32.     }  
  33.     return max_index;  
  34. }  

 

 5. , double , 。


  1. #include  
  2.   
  3. #define SIZE 5  
  4.   
  5. int D_value(int *ptr,int n);  
  6.   
  7. int main()  
  8. {  
  9.     int array[SIZE] = {  
  10.         1,2,3,4,5  
  11.     };  
  12.     int value;  
  13.       
  14.     value = D_value(array,SIZE);  
  15.     printf("max - min = %d
    "
    ,value);  
  16.     return 0;  
  17. }  
  18.   
  19. int D_value(int *ptr,int n)  
  20. {  
  21.     int max = *ptr;  
  22.     int min = *ptr;  
  23.     for(int i = 0 ; i 
  24.     {  
  25.         if(max 
  26.         {  
  27.              max = *ptr;  
  28.         }  
  29.         if(min > *ptr)  
  30.          min = *ptr;  
  31.     
  32.         ptr++;  
  33.     }  
  34.     return max-min;  
  35. }  
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