Visualizzazione dei risultati da 1 a 4 su 4

Discussione: azzera coppie

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    9

    azzera coppie

    Ciao ragazzi avrei bisogno di un piccolo aiuto..ho fatto un programmino che legge un array di interi v e restituisce un vett di interi w ottenuto ponendo a zero le coppie di elementi consecutivi uguali
    public class AzzeraCoppie
    public static void main(String[]args)
    int[]v=leggiArray;
    int[]w=new int[v.lenght];
    for(int i=1;i<n-1;i++)
    if(v[i]==v[i-1]||v[i]==v[i+1])
    w[i]=0;
    il mio problema è ke il programma funziona se l'ultimo elemento è diverso,ma se l'ultimo elemento è uguale al precedente la mia condizione non lo legge!!!
    datemi una mano!!

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Ciao ragazzi avrei bisogno di un piccolo aiuto..ho fatto un programmino che legge un array di interi v e restituisce un vett di interi w ottenuto ponendo a zero le coppie di elementi consecutivi uguali
    Cioè w[i] = 0 se v[i]=v[i+1] oppure v[i]=v[i-1]?

    Cicla su w e per ogni i valuta la condizione su v. Attento che per i=0 non devi controllare se v[i]=v[i-1] e per i=w.length-1 non devi controllare v[i]=v[i+1].


    codice:
    for (int i=0; i<w.length; i++)
    {
      if(i>0) // Primo test
      if(i==(w.length-1)) // Secondo Test  
    }
    Ottimizza come più ti aggrada.
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Io farei così:

    Codice PHP:
    int[] primo = {1,2,2,3,4,5,4};
    int[] secondo = new int[primo.length];
            
    for(
    int i=1primo.lengthi++){
       if(
    primo[i]==primo[i-1]){
          
    secondo[i] = 0;
          
    secondo[i-1] = 0;
          
    i++;
       }else{
          
    secondo[i] = primo[i];
          
    secondo[i-1] = primo[i-1];
       }

    Al mio segnale... scatenate l'inferno!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Considera che non ha molto senso controllare quello prima e quello dopo... controllane solo uno dei due, perchè la condizione sarebbe già verificata al giro prima o al giro dopo. Esempio:

    codice:
              i  j
    A = [...][X][X][...]
    Se [i] = a[j] (come nell'esempio) è ovvio che al primo giro trovi A[i] == a[i+1]
    E al secondo giro trovi A[j] = A[j-1]... hai fatto due test per la stessa ugualianza... e se al primo giro hai modificato un valore, al secondo non trovi più che l'uguaglianza è vera... perchè era vera prima.


    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

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