Salve a tutti, sono una studentessa di informatica che si approccia alla programmazione in c. Sono bloccata con un programma la cui consegna è: dati due array, si copi il loro contenuto in un terzo array e si stampi questo con il contenuto ordinato (e con i caratteri ripetuti mantenuti) dei due array precedenti (esempio: se il primo array è 123, il secondo è 135, il terzo sarà 112335).
Il codice che ho scritto io è il seguente, ma ovviamente,funziona in parte, mi stampa in op solo gli elementi del primo array e poi solo zeri. Dove ho sbagliato?
include <stdio.h>
int merge (int a[], int dla, int b[], int dlb, int c[], int *pdlc){
*pdlc = dla + dlb;
int i, k, j;
for (i = 0; i< dla; i++){
c [i] = a[i];
for (k = 5; k < *pdlc; k++)
c[k] = b[i];}
}
int ordina (int *pc[]){
int i;
for (i=1; i < 20; i++)
if (*pc[i] > *pc[i-1])
*pc[i]= *pc[i-1];
}
int main (){
int a [6] = {1, 3, 4, 4, 5};
int b [6] = {0, 1 ,4, 6, 7};
int c [20];
int s = 6;
int i;
merge (a, s, b, s, c, &s);
for (i= 0; i< 20; i++)
printf ("%d ", ordina(c));
printf ("\n");
}