Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

di il
7 risposte

Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

#include <stdio.h>
#include <stdlib.h>
void merge(int v[], int n, int w[], int m, int z[], int *p) 
{

     int i=0,j=0,k=0;
     *p = m+n ;
     do
     {
          if( v[i]<w[j] ) 
                z[k++]=v[i++];
          else 
     
                z[k++]=w[j++];
     }
     while (i<n && j<m);
     if(i<n) for( ;i<n;i++) z[k++]=v[i];
     else for( ;j<m;j++) z[k++]=w[j];
     system ("PAUSE");
     
     
}     
  [Linker error] undefined reference to `WinMain@16' 
  ld returned 1 exit status 

7 Risposte

  • Re: Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

    Per piacere luka puoi mettere il codice tra i tag code e /code?

    Regolamento : http://www.iprogrammatori.it/forum-programmazione/announces/regolamento-del-forum-leggere-prima-scrivere-t6454.html

    Distinti Saluti,
    Alessandro
  • Re: Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

    Penso che il problema stia nella condizione del while
    
    while (i<n && j<m);
    
    Non deve essere un AND ma un OR perchè se uno dei due riemp è terminato allora bisogna terminare il while.
    
    while (i<n || j<m);
    
    Distinti Saluti,
    Alessandro
  • Re: Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

    Il while va bene, infatti se deve uscire dal ciclo quando almeno uno dei due vettori è terminato, la AND va bene, e non la OR.
    Strano però, nel codice sembra sia tutto a posto. Però se vedi il tipo di errore (Linker error) si può già capire almeno in parte cosa ci sia che non va, quindi ecco alcune domande: il codice è in un file.cpp o .h? il file è stato incluso nel progetto? c'è il main() (l'entry point del programma)?
    Non possiamo aiutare se non abbiamo alcune informazioni.
  • Re: Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

    Il while va bene, infatti se deve uscire dal ciclo quando almeno uno dei due vettori è terminato, la AND va bene, e non la OR.
    Scusami stai dicendo una contraddizione, se almeno uno dei due vettori deve essere terminato deve esserci un OR e non un AND.

    Distinti Saluti,
    Alessandro
  • Re: Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

    Linker error perche non esiste il main,


    Annotazione per l'utente del thread: Inserire i tag code.
  • Re: Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

    AlessandroS ha scritto:


    Il while va bene, infatti se deve uscire dal ciclo quando almeno uno dei due vettori è terminato, la AND va bene, e non la OR.
    Scusami stai dicendo una contraddizione, se almeno uno dei due vettori deve essere terminato deve esserci un OR e non un AND.

    Distinti Saluti,
    Alessandro
    Veramente il do..while continua quando la condizione è vera, quindi esce quando è falso, per cui la condizione per continuare e che ENTRAMBI siano minori dei rispettivi limiti (deve continuare quando i<n E j<m.
  • Re: Errore MERGE.Qualcuno può darmi una mano gentilmente:)?

    Veramente il do..while continua quando la condizione è vera, quindi esce quando è falso, per cui la condizione per continuare e che ENTRAMBI siano minori dei rispettivi limiti (deve continuare quando i<n E j<m.
    SI hai ragione, perdonami xD mi sono confuso.

    Comunque il programma funziona, l' unico problema è vedere come hai implementato il main.
Devi accedere o registrarti per scrivere nel forum
7 risposte