Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    [JAVA]Programmazione java-Esercizio Esame Ingengeria

    Si scriva un metoto estraiElementiDistinti che riceve due array di char v1 e v2 e restiuisce un array di char v3 contenente gli elementi distinti che si trovano nelle posizioni pari del vettore v1 e sono presenti anche nl vettore v2.

    Ad esempio , se v1= {'a','b','c','b','c','e'} e v2={'a','b','c','c','d','e','e'} il metodo restituisce v3={'a','c'} , in quanto 'a' e 'c' sono due elementi distinti in posizione pari del vettore v1 che si trovano anche in v2.
    Se invece v2 = {'a','b','d','e','e'} , il metodo restituisce v3={'a'} , in quanto 'a' è l'unico elemento che si trova in posizione pari di v1 e si trova anche in v2.

    Come intestazione ho pensato di scrivere :

    codice:
    public class Esercizio2{
    public static int[] estraiElementiDistinti(int[]v1 , int[]v2)  {
    
     int[]v3=new int (v.length) ;      \\In questo modo ho pensato di dichiarare ciò che mi viene                                                        restituito cioè un nuovo vettore di interi v3.
    
     int pos=0 ;           \\ In questo modo ho pensato di  dichiarare a parer mio inizializzandola a zero la posizione, all 'interno del vettore v3 ,nella quale verranno inseriti gli elementi pari del vettore v1 che si trovano anche in v2. Questo è il mio principale dubbio:ovvero in che modo devo 'riempire' il mio vettore v3?Qual'è la scrittura giusta da usare??
    
    for(int i=0 ; i<v1.lenght;i +=2 ){  \\in questo modo ho pensato di far scorrere il vettore v1 solo sulle posizioni pari. 
    
    for(int j=0 ; j<v2.lenght ; j+=2){ \\con questo faccio scorrere v2 muovendomi sempre in posizione pari. 
    
    if (v1[i] == v2[j]) {  \\in questo modo confronto gli elementi di v1 e v2
    
    pos ++ ;      \\andando ad incrementare pos 
     }
    }
    }
    return v3 ;
    }
      }
    Cosa manca?? Dove sono le imprecisioni?? Ringrazio anticipatamente. Sono alle prime armi con java.

  2. #2

    Re: [JAVA]Programmazione java-Esercizio Esame Ingengeria

    Originariamente inviato da sspietross
    Si scriva un metoto estraiElementiDistinti che riceve due array di char v1 e v2 e restiuisce un array di char v3 contenente gli elementi distinti che si trovano nelle posizioni pari del vettore v1 e sono presenti anche nl vettore v2.

    Ad esempio , se v1= {'a','b','c','b','c','e'} e v2={'a','b','c','c','d','e','e'} il metodo restituisce v3={'a','c'} , in quanto 'a' e 'c' sono due elementi distinti in posizione pari del vettore v1 che si trovano anche in v2.
    Se invece v2 = {'a','b','d','e','e'} , il metodo restituisce v3={'a'} , in quanto 'a' è l'unico elemento che si trova in posizione pari di v1 e si trova anche in v2.
    Sei sicuro degli esempi che hai postato? Erano sulla traccia oppure li hai generati tu? Te lo chiedo perchè nella traccia leggo "...e sono presenti anche nl vettore v2" il che non significa che devono essere presenti nella STESSA posizione che occupano in v1. Interpretando la traccia alla lettera v3 dovrà contenere i valori che si trovano nelle posizioni pari di v1 e che si trovano anche in v2 in qualsiasi posizione.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Gli esempi li ho copiati come sono nella traccia e sono giusti.Hai perfettamente ragione,rivedendo bene gli esempi e la traccia devo considerare tutti gli elementi presenti di v2 e non solo quelli pari.. quindi visti in quest'ottica mi puoi dare una mano nella scrittura del codice? Proprio per quanto riguarda la dichiarazione di v3 e il modo in cui devo comporlo man mano. grazieee

  4. #4
    ho provato a scrivere il codice.potete dirmi in cosa sbaglio?? o se per voi sembra corretto?? la traccia è la seguente e l'ho verificata (l'esempio fa parte della traccia):


    Si scriva un metoto estraiElementiDistinti che riceve due array di char v1 e v2 e restiuisce un array di char v3 contenente gli elementi distinti che si trovano nelle posizioni pari del vettore v1 e sono presenti anche nl vettore v2.

    Ad esempio , se v1= {'a','b','c','b','c','e'} e v2={'a','b','c','c','d','e','e'} il metodo restituisce v3={'a','c'} , in quanto 'a' e 'c' sono due elementi distinti in posizione pari del vettore v1 che si trovano anche in v2.
    Se invece v2 = {'a','b','d','e','e'} , il metodo restituisce v3={'a'} , in quanto 'a' è l'unico elemento che si trova in posizione pari di v1 e si trova anche in v2.


    codice:
    public class Esercizio2 { 
      public static int[] estraiElementiDistinti(int[]v1,int[]v2) {
      
          int pos=0
    
    for(int i=0 ; i<v1.length; i+=2) {
    
      for(int j=0 ;j < v2.length ; j++)
    
    if (v1[i] ==v2[j] ;
    
     v3[pos]==v1[i] ;
    
    pos ++ ;
      
      }
      return v ;   
      }
    }

    Questo metodo è scritto correttamente e basta ad esaudire quanto richiesto dalla traccia??
    Cosa manca? O cosa è sbagliato? graziee

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    compila, esegui e vedi il risultato: se coincide con quanto richiesto il tuo algoritmo va bene, altrimenti bisogna apportare delle modifiche.
    Questo è l'unico modo per sapere se un algoritmo va bene oppure no
    RTFM Read That F*** Manual!!!

  6. #6
    Originariamente inviato da sspietross
    [COD]public class Esercizio2 {
    public static int[] estraiElementiDistinti(int[]v1,int[]v2) {

    int pos=0

    for(int i=0 ; i<v1.length; i+=2) {

    for(int j=0 ;j < v2.length ; j++)

    if (v1[i] ==v2[j] ;

    v3[pos]==v1[i] ;

    pos ++ ;

    }
    return v ;
    }
    } [\COD]
    Ma è codice che dovrebbe funzionare?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    è quello che ho chiesto.. potrebbe funzionare cm metodo?risponde alle richieste che mi fa la traccia?? oppure ho sbagliato a dichiarare qualche variabile oppure qualche for? scusate ma sono alle prime armi..

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    appunto perché sei alle prime armi l'unico modo per capire/imparare dai tuoi errori è scontrarti con compilatore/esecutore.
    Ti sei iscritto ad ingegneria, d'ora in poi in tante cose sarai solo e non avrai il prof che ti correggerà sulla carta il programma per poi dirti "ora scrivilo, compila ed esegui".

    Infine, noi per sapere se va, colpo d'occhio a parte, dobbiamo prenderlo, compilare ed eseguire, la stessa cosa che ti ho detto di fare
    RTFM Read That F*** Manual!!!

  9. #9
    Originariamente inviato da valia
    appunto perché sei alle prime armi l'unico modo per capire/imparare dai tuoi errori è scontrarti con compilatore/esecutore.
    Ti sei iscritto ad ingegneria, d'ora in poi in tante cose sarai solo e non avrai il prof che ti correggerà sulla carta il programma per poi dirti "ora scrivilo, compila ed esegui".

    Infine, noi per sapere se va, colpo d'occhio a parte, dobbiamo prenderlo, compilare ed eseguire, la stessa cosa che ti ho detto di fare
    Come giustamente detto da valia comincia a compilarlo e a vedere se gira e fa quello per cui l'hai scritto. Se poi ci sono errori vediamo di correggerli.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Si ma se m 'scontro' con il compilatore come ben sai devo inserire anche il main.. altrimenti non andrà mai... E una volta che mi segnalerà mille errori io non saprò dove sbattere la testa...vmq grazie lo stesso...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.