Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    algoritmo elimina-occorrenze

    Ciao dinuovo a tutti! Sto cercando di fare un algoritmo(in java) che elimini le occorrenze di un numero da un array ordinato.
    Questo vuol dire che 1,2,3,3,3,8,16,22,22,25
    diventa: 1,2,3,8,16,22,25

    Ha...ovviamente non usando array di appoggio. Chi si vuole esercitare negli algoritmi, sia il benvenuto, questo problema relativamente facile presenta non poche insidie....uff.f.f.f.f
    - è abbastanza difficile gia solo ordinare le idee su cosa deve fare l'agoritmo

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    USANDO UN SOLO ARRAY E PERCORRENDOLO UNA SOLA VOLTA!

  3. #3
    ...non credo che sia possibile scorrendeo l'array 1 sola volta!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    Addirittura? : ) Si, con 2 indici, ma dopo il primo scambio, non so come comportarmi, un indice lo fermo su cosa voglio sovrascrivere(cioè un valore uguale al precedente) e l'altro lo mando avanti e mi serve per la copia..Si è difficile, capire l'algoritmo preciso, mi servivano dei consigli

  5. #5
    codice:
     
    #include <cstdio>
    #include <iostream>
    #define N 3
    #define DIM 10
    
    using namespace std;
    
    int main(int argc, char * argv[])
    {
    int arr[DIM];
    for(int i = 0; i < DIM; i++)
    {
           if(arr[i] == N)
              arr[i] = 0;
    }
    
    for(int i = 0; i < DIM;i++)
    {
            char * num = (arr[i] == 0) ? 'N' : (char *) arr[i];
            printf("%s\n", &num);
            num = NULL;
    }
       return 0;
    }
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    Purtroppo è in C, e non lo posso provare, ma se la logica è giusta, posso farne uno simile in java

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    |

    mmhh....però non lo capisco molto! :bubu:

  8. #8
    codice:
    #define N 3 // il numero da togliere
    #define DIM 10 // la dimensione dell'array
    
    .........
     
    int arr[DIM]; // l'array
    for(int i = 0; i < DIM; i++)
    {
           if(arr[i] == N) // se l'elemento all'indice i è N allora mettilo a 0
              arr[i] = 0;
    }
    
    for(int i = 0; i < DIM;i++)
    {
           // se l'elemento arr[i]  è 0 non visualizzarlo.
            char * num = (arr[i] == 0) ? '' : (char *) arr[i];
            printf("%s\n", &num);
            num = NULL;
    }
       return 0;
    }
    In java dovrebbe essere:
    codice:
     
    for(int i = 0; i < DIM; i++)
    {
           if(arr.charAt(i) == N) // se l'elemento all'indice i è N allora mettilo a 0
              arr.charAt(i) = 0;
    }
    
    for(int i = 0; i < DIM;i++)
    {
           // se l'elemento arr[i]  è 0 non visualizzarlo.
            String num = new String();
            if(arr.charAt(i) == 0) {
                 num = " ";
            }else{
                 num =  arr.charAt(i);
            }
            System.out.println("Num at " + i " => num \n");
            num = " "; // reinizializzo a " " x prossimo ciclo
    }
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    Mettilo a zero?? N = 3?? Nooooo........ma va.........un algoritmo è qualcosa che deve valere in tutti i casi possibili mica solo in questo particolare..

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    Noooo!!! Come non visualizzarlo?? Deve compattarsi l'array... :bubu:

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.