Visualizzazione dei risultati da 1 a 10 su 10

Discussione: esercizio Array

  1. #1

    esercizio Array

    ciao ragazzi potreste darmi una mano con questo esercizio? sono alle prime armi e non so come posso muovermi. La traccia è la seguente:Si scriva un metodo Java verificaSottovettori che riceve in ingresso due vettori di interi v e w,ognuno dei queli contiene valori distinti. il metodo restituisce true se e solo se gli elementi di w sono una sotto-sequenza degli elementi di v,cioè gli elementi di w sono tutti contenuti in v(anche se ne possono mancare alcuni di essi) e sono riportati da sinistra verso destra in cui occorrono nel vettore v.
    ad esempio:se v=(5,7,1,9,8,2) e w=(5,7,8) il metodo restituisce true
    io ho pensato di fare cosi all'inizio:

    codice:
    public static boolean verificaSottoVettori (int []v,int []w){
    boolean contenuto=true;
    for (int j=0;j<w.length;j++){
    for(int i=0;i<v.length;i++){
    if(w[j]==v[i])
    .......
    ....

    poi non saprei come proseguire(Non so nemmeno se è corretto fino a qui)
    grazie per l'aiuto
    Ultima modifica di LeleFT; 19-05-2015 a 16:21 Motivo: Aggiunti i tag CODE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Java ha un forum dedicato. Sposto.
    Il codice va postato all'interno degli appositi tag [CODE] .. [/CODE] per mantenere indentazione e formattazione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Java ha un forum dedicato. Sposto.
    Il codice va postato all'interno degli appositi tag
    codice:
     ..
    per mantenere indentazione e formattazione.


    Ciao.
    quindi ora è corretto?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Fede9204 Visualizza il messaggio
    ad esempio:se v=(5,7,1,9,8,2) e w=(5,7,8) il metodo restituisce true
    E se ho capito bene, allora con v=(8,5,7,1,9,2) e w=(5,7,8) deve dare false, perché in v i 5,7,8 non li trovi in questo preciso ordine, giusto?

    Se è così, allora devi partire con il ciclo principale su w e ciascun elemento lo devi cercare in v. Ma attenzione, devi tenerti l'indice dell'ultimo elemento trovato in v. Nel caso che ho detto io, l'ultimo match è il 7 all'indice 2 in v. Se parti a cercare il valore 8 dall'indice 3 di v ... ovviamente non lo trovi. Solo se trovi tutti quelli di w, allora il risultato finale è true.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    esatto è falso,cmq non ho ben capito come dovrei procedere

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Fede9204 Visualizza il messaggio
    cmq non ho ben capito come dovrei procedere
    Il concetto l'ho spiegato, non in dettaglio ma il punto essenziale sì. Pensa al caso che ho detto io:

    v=(8,5,7,1,9,2) e w=(5,7,8)

    Il 8 devi partire a cercarlo dall'indice 3 di v, non da 0. Se partissi da 0, lo troveresti ma così non controlleresti la sequenzialità che invece è importante, da quanto hai detto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    mi dispiace ma non capisco

  8. #8
    Beh allora studia, applicati, sforzati di comprendere
    andbin te lo ha spiegato in maniera cristallina.
    Ti ricordo che da Regolamento nessuno qui da codice pronto per l'uso.
    Proponi una tua soluzione e su quella possiamo darti una mano.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  9. #9
    fino ad un certo punto il codice l ho fatto,non so se sia corretto

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Fede9204 Visualizza il messaggio
    fino ad un certo punto il codice l ho fatto,non so se sia corretto
    Se hai fatto

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

    allora no, non è corretto. Così troveresti il 8 anche nel caso che ho citato io.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.