Liste in Linguaggio C

di il
2 risposte

Liste in Linguaggio C

Buongiorno, devo scrivere il seguente codice completo in linguaggio c ma continua a darmi errore. Grazie mille in anticipo!

Si definisca la struttura c che rappresenta un elemento di una lista di int in forma
collegata con puntatori. Si definisca una funzione c che verifica se due liste di tale tipo
sono uguali (due liste sono uguali se contengono lo stesso numero di elementi, con gli
stessi valori e nello stesso ordine).

#include <stdio.h>
#include <stdlib.h>
typedef unsigned short int Boolean;
#define TRUE 1
#define FALSE 0

struct list1{
int value;
struct list1 *next_ptr;
};

struct list2{
int value;
struct list2 *next_ptr;
};

Boolean is_equal(struct list * ptr1, struct list * ptr2);

Boolean is_equal(struct list * ptr1, struct list * ptr2) {
Boolean mismatch_found=FALSE;
while(ptr1!=NULL && ptr2!=NULL && mismatch_found==FALSE) {
if(ptr1->value!=ptr2->value)
mismatch_found=TRUE;
else {
ptr1=ptr1->next_ptr;
ptr2=ptr2->next_ptr;
}
}
if(ptr1==NULL && ptr2==NULL && mismatch_found==FALSE)
return TRUE;
else
return FALSE;
}

int main(){

struct list1 *head_ptr1;
struct list2 *head_ptr2;

int run1=1;
int run2=1;
int i=0, j=0;

int list1[]={2,3,4,6};
int list2[]={2,3,4,6};

int l1,l2;
l1=sizeof(list1)/sizeof(int);
l2=sizeof(list2)/sizeof(int);

while (run1){
printf("La lista 1 è %d\n", list1);
i=i+1;
if(i==l1){
printf("Lista Terminata.\n");
break;
}
}

while (run2){
printf("La lista 2 è %d\n", list2[j]);
j=j+1;
if(j==l2){
printf("Lista Terminata.\n");
break;
}
}
is_equal(&head_ptr1,&head_ptr2);
return 0;
}

2 Risposte

  • Re: Liste in Linguaggio C

    Se non usi i tag CODE (tasto '</>' nell'editor completo) non mi metto a leggere il tuo codice.
    Inoltre dire 'non funziona' è come andare dal medico e dire 'non sto bene', sedersi e aspettare la cura...
  • Re: Liste in Linguaggio C

    In questo punto:
    while (run1){
    printf("La lista 1 è %d\n",       -->list1<--      );
    i=i+1;
    if(i==l1){
    printf("Lista Terminata.\n");
    break;
    }
    }
    
    "list1" è chiamato senza perciò ti sarà uscito l'indirizzo dell'array suppongo.
Devi accedere o registrarti per scrivere nel forum
2 risposte