Procedura con array e funzioni

di il
3 risposte

Procedura con array e funzioni

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");
} 

3 Risposte

  • Re: Procedura con array e funzioni

    Usa i tag CODE per il codice nel forum, leggi il regolamento
  • Re: Procedura con array e funzioni

    oregon ha scritto:


    Usa i tag CODE per il codice nel forum, leggi il regolamento
    Ho provato a modificare il post e l'ho reinviato, spero di aver fatto giusto, nel caso mi scuso, devo ancora capire come utilizzare il tutto.
  • Re: Procedura con array e funzioni

    Prova a risolvere l'esercizio senza chiamate a funzioni. Dopodiché ripassa un attimo come funzionano i parametri delle funzioni e i puntatori prima di riorganizzare il codice.

    L'array c fallo della lunghezza corretta
Devi accedere o registrarti per scrivere nel forum
3 risposte