2016-07-15 37 views
1

建立兩個數組A[]B[]mn元素。寫一個函數形成兩個給定序列的第三個數組C[],以便數組AB的所有正元素成爲第三個字符串的元素。一組C的內存分配在該功能內。作爲函數結果的指向動態分配的字符串的指針。作爲使用指針維度字符串返回遊標的函數的參數。從兩個數組中取出正數並在其中創建第三個數

這是我迄今爲止所做的。我不知道如何使用前兩個指針創建第三個數組。

#include <stdio.h> 

#define max_duzina 1000 

int main(){ 
    int A[max_duzina]; 
    int B[max_duzina]; 
    int C[max_duzina]; 
    int m, n; 
    //put array dimension 
    printf("Uneti dimenzije niza A:\n"); 
    scanf("%d", &m); 
    //put elements of array 
    printf("Uneti elemente niza A:\n"); 
    for(int i = 0; i < m; i++){ 
     scanf("%d", &A[i]); 
    } 

    printf("Uneti dimenzije niza B:\n"); 
    scanf("%d", &n); 

    printf("Uneti elemente niza B:\n"); 
    for(int j = 0; j < n; j++){ 
     scanf("%d", &B[j]); 
    } 
    //array A have next elements... 
    printf("Niz A se sastoji iz sledecih elemenata:\n"); 
    for(int i = 0; i < m; i++){ 
     printf("%3d", A[i]); 
    } 

    printf("\nNiz B se sastoji iz sledecih elemenata:\n"); 
    for(int j = 0; j < n; j++){ 
     printf("%3d", B[j]); 
    } 
} 
+0

你知道如何用C來寫一個函數? –

回答

3

...不知道如何使指針和第三組從第2位。

爲OP

一些僞代碼
Form function signature 
    int *BeanAdd(pointer `const int *`, number of A elements, 
       pointer `const int *`, number of B elements) 
Count number of positive numbers in `A[]` 
Count number of positive numbers in `B[]` 
Allocate memory for `C[]` 
    int *C = malloc(sizeof *C * (A positive number count + B positive number count)) 
Was allocation successful? 
Copy `A[]` positive elements to C. 
Append `B[]` positive elements to C. 
Return C 
+0

@Beansolder由於這篇文章肯定是一個學習者的任務,所以發佈C代碼似乎很可惜,因爲這會稀釋你的經驗。但是我希望上面的暗示足以讓「不知道如何」 - >「好的,我看到基本輪廓並且可以填寫部分」。 – chux

相關問題