Pagina 4 di 4 primaprima ... 2 3 4
Visualizzazione dei risultati da 31 a 39 su 39
  1. #31
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    117
    ti fai una funzione apposita di confronto...

  2. #32
    Originariamente inviato da {Bl4d3}
    ti fai una funzione apposita di confronto...
    Direi che è tutt'altro che diffcile trallaltro
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #33
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    117
    Ragazzi, dato che si è parlato di array associativi qualcuno saprebbe darmi qualche link dove c'è una descrizione approfondita dell'argomento: funzionamento, algoritmi e tutto... mi interesserebbe fare una rudimentale implementazione di questa struttura in C, vorrei però prima documentarmi meglio. Grazie anticipatamente.

  4. #34
    Originariamente inviato da {Bl4d3}
    Ragazzi, dato che si è parlato di array associativi qualcuno saprebbe darmi qualche link dove c'è una descrizione approfondita dell'argomento: funzionamento, algoritmi e tutto... mi interesserebbe fare una rudimentale implementazione di questa struttura in C, vorrei però prima documentarmi meglio. Grazie anticipatamente.
    Beh da quello che so io non c'è uno standard per implementare un array associativo, in generale è un array indicizzato da entità di tipo anche diverso da interi in successione odinata.
    Wikipedia recita :
    Array associativo

    È una struttura dati presente in molti linguaggi di scripting. Consiste in un array, i cui elementi sono però identificati da una chiave di tipo arbitrario invece che da un indice numerico. Per accedere ad un elemento, si mette tipicamente la sua chiave tra parentesi quadre, al posto dell'indice. Se non esiste un elemento con quella chiave, si ottiene un errore oppure un valore convenzionale.
    Una hashtable ad esempio è un array associativo di tipo particolare,usa particolari algoritmi (di hashing appunto) per mappare le chiavi ai rispettivi valori e ottenere ricerche veloci.
    http://it.wikipedia.org/wiki/Hash. Testi come il Cormen Leiserson (la bibbia tra i libri di algoritmi e strutture dati) trattano a fondo l'argomento
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  5. #35
    Originariamente inviato da unomichisiada
    Direi che è tutt'altro che diffcile trallaltro
    Daccordo, ma io sono un principiante, non potresti aiutarmi?

  6. #36
    Nessuno mi sa aiutare?

  7. #37
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    ma che c'entra la tua domanda con quella iniziale?

    A parte che della frase "mi servirebbe una funzione che mi permette di vedere se un array (sotto-array comrpesi) contiene valori uguali" mi è abbastanza oscuro il significato...
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  8. #38
    Originariamente inviato da Habanero
    ma che c'entra la tua domanda con quella iniziale?

    A parte che della frase "mi servirebbe una funzione che mi permette di vedere se un array (sotto-array comrpesi) contiene valori uguali" mi è abbastanza oscuro il significato...
    In sostanza, ho un array acc[100][2] che e' riempito solo in parte, diciamo che arriva fino ad acc[10][2] (esempio), devo fare in modo da generare una lista che per ogni tot contenga solo valori diversi, esempio:

    Ho l'array cosi':

    acc[0][0] = 1;
    acc[0][1] = 2;
    acc[1][0] = 1;
    acc[1][1] = 3;
    acc[2][0] = 1;
    acc[2][1] = 4;
    acc[3][0] = 2;
    acc[3][1] = 3;
    acc[4][0] = 2;
    acc[4][1] = 4;
    acc[5][0] = 3;
    acc[5][1] = 4;

    (come puoi notare i valori [0] e [1] sono sempre diversi tra loro)
    devo fare in modo che tutti i valori (a gruppi di tot), siano a valori diversi, quindi la lista di prima dovrebbe diventare:

    x = 4;
    acc[0][0] = 1;
    acc[0][1] = 2;
    acc[1][0] = 3;
    acc[1][1] = 4;
    //fine primo gruppo
    acc[2][0] = 1;
    acc[2][1] = 3;
    acc[3][0] = 2;
    acc[3][1] = 4;
    //fine secondo gruppo
    acc[4][0] = 1;
    acc[4][1] = 4;
    acc[5][0] = 2;
    acc[5][1] = 3;
    //fine terzo gruppo

    In sostanza tutti i valori del gruppo 1 sono diversi ed in un certo ordine, i valori del gruppo 2 sono tutti diversi e con un ordine diverso dal 1° gruppo, i valori del gruppo 3 sono tutti diversi ed in un ordine diverso dal gruppo uno e dal gruppo 2.

    Il tutto con x che corrisponde al numero di valori per gruppo, e puo' essere un numero qualsiasi.

  9. #39
    Beh una cosa è controllare se in un array ci sono duplicati ed altra cosa è generare un array senza duplicati, è tutto un altro paio di maniche, i sei speigato malissimo prima infatti avevo scritto questo codice per risolvere il problema:
    codice:
    #include <stdio.h>
    #define FALSE 0;
    #define TRUE 1;
    
    typedef short boolean;
    boolean hasDuplicates(int [],int);
    
    int main()
    {
    	int a[] = {3,6,6,8,22,1,4,33,5};
    	if(hasDuplicates(a,9))
    		printf("C'e' almeno un duplicato!");
    	else
    		printf("Non ci sono duplicati!");
    	
    	return 0;
    }
    
    boolean hasDuplicates(int arr[],int len)
    {
    	int i,j;
    	boolean flag = FALSE;
    	for(i = 0; i < len -1 ; i++)
    	{
    		for(j = i + 1; j < len ; j++)
    			flag = flag || (arr[i] == arr[j]);
    	}
    	return flag;		
    }
    che ora risulta completamente inutile.
    Il tuo problema comunque si riduce al generare le pemutazioni dei numeri da 1 a x. Tieni presente che ce ne sono x! (cioè x fattoriale) quindi per riempire un array con 100 posti nella prima dimensione ti serve un numero x tale che x! >= 100
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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.