Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Ciclo While Annidato

    Ciao Ragazzi,

    ho un problema con un ciclo annidato while..non riesco a uscirne non ho errori in compilazione ma quando eseguo il programma non ottengo niente..il computer sembra quasi bloccato.

    codice:
    prova[0]=300;
    int ii=0;
    
    while(ii<2)
    { 
      int jj=1; 
      while(jj<6)
      {
        if(jj*dxprova<(m[ii+1][0]-m[ii][0]))
        { 
         prova[jj]=(m[ii+1][1]-m[ii][1])/(m[ii+1][0]-m[ii][0])*jj*dxprova+m[ii][1]-(m[ii+1][1]-m[ii][1])/(m[ii+1][0]-m[ii][0])*m[ii][0];
         jj++;
        }
        if(jj*dxprova>(m[ii+1][0]-m[ii][0])) break;
      }
      ii++;
    }
    Che ne pensate??
    grazie dell aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    93
    Ciao,

    così a prima vista ti farei una domanda:

    nel ciclo while interno prevedi di modificare jj se "jj*dxprova<(m[ii+1][0]-m[ii][0])" e di uscire dal ciclo interno se "jj*dxprova>(m[ii+1][0]-m[ii][0])". Ma cosa succede se "jj*dxprova== (m[ii+1][0]-m[ii][0])" Si resta nel ciclo per sempre mi sa!

  3. #3
    Buona osservazione..
    ma essendo dxprova e m[i][j] double non credo che si verifichera mai la condizione == o sbaglio?

  4. #4
    In pratica quello che dovrei fare e´ questo dati

    dati 4 punti 0.0 0.005 0.01 0.015 a cui corrispondono 4 valori casuali (es. 300 1000 2000 2100) e´ fare un interpolazione sullo stesso dominio considerando 15 punti (0.0001 ...0.015) e interpolare dunque il valori che ho su 4 punti su 15 punti

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    93
    Onestamente non ho capito cosa intendi con:
    ma essendo dxprova e m[i][j] double non credo che si verifichera mai la condizione == o sbaglio?
    ...non credo che il semplice fatto che siano due double ti assicuri che la condizione di == non si verifichi mai...dipende dalle operazioni che ci fai...se non ho capito male cosa intendevi.

    Ad ogni modo, sei riuscito a capire in che punto ti si ferma il codice?

    Al volo ti direi di mettere una bella printf dopo gli if nel ciclo interno così da stampare ogni volta il valore di jj e vedere cosa succede!

  6. #6
    Si avevi ragione == e´ stato sufficiente..Pero i risultati che ottengo non sono quelli che vorrei..forse sbaglio qualcosa nell´implementazione..hai qualche suggerimento su come farla l´interpolazione in maniera diversa?

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    93
    Mi dispiace...ma io non ne ho la più pallida idea

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.