2016-07-15 58 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

相关问题