Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: Somma valori in C

  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da franceskaaaz
    Le occorrenze le voglio calcolare sull'output di questo e mi risulta questo
    3 -8-13-10-8-5-15-12-10-10-17-15-7-12

    quindi calcolando le occorrenze mi dovrebbe risultare :3 =1;
    8 = 2;
    13= 1;
    10 =3;
    17 = 1;

    e voglio stampare il valore più alto delle ricorrenze, cioè Z=3
    Ma nelle occorrenze non c'è anche il il

    5 = 1

    ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In ogni caso, un esempio di codice potrebbe essere

    codice:
    	int vec[] = {3,5,10,7,5};
    	int occ[18] = {0};
    	int i, j, size = sizeof(vec)/sizeof(int);
    
    	for(i=0; i<size; i++)
    	{
    		printf("%d ", vec[i]);
    		occ[vec[i]]++;
    		
    		for(j=i+1; j<size; j++)
    		{
    			printf("%d ", vec[i]+vec[j]);
    			occ[vec[i]+vec[j]]++;
    		}
    	}
    
    	printf("\nOccorrenze\n");
    	for(i=0; i<18; i++)
    		if(occ[i])
    			printf("%d = %d\n", i, occ[i]);
    
    	return 0;
    che è veloce ma ha un limite ... per valori piccoli va bene perché il vettore occ non è eccessivamente grande, altrimenti devi usare un altro approccio.

    Il massimo del vettore occ lo trovi facilmente con un ciclo for ... ma lo lascio a te.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    perché c'è scritto 18?

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da franceskaaaz
    perché c'è scritto 18?
    Forse non hai compreso il metodo ...

    Il valore massimo dell'elenco delle ricorrenze

    3
    5
    8
    13
    10
    17

    è 17 e per utilizzare l'indice 17 devi prevedere un vettore di 18 elementi.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #15
    ah ecco, io quindi all'inizio posso mettere direttamente una variabile che prevedo fino a quanti numeri posso avere.
    Questo passaggio l'ho capito,
    poi siccome devo generare il vettore con numeri casuali da 1 a 100, come lo devo creare?

  6. #16
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Potrai avere due valori a 100 e la somma sarà 200 ... quindi occ[201]
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #17
    Ora mi sono ricavata il massimo numero in questo modo:
    codice:
     for (i=0; i<201; i++)
            if(occ[i]>MAX)
                MAX = occ[i];
                printf(" Il numero dei sottoinsiemi K e' : %d", MAX);
    va bene o è brutto da vedere?
    poi come posso migliorare il fatto del 201? mi devo trovare il massimo numero delle somme parziali, la metto in una variabile per es. MaxSP, e poi la metto al posto del 201? è giusto il ragionamento?

  8. #18
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Meglio così ...

    codice:
     int max = 0;
     for (i=0; i<201; i++)
            if(occ[i]>max)
                max = occ[i];
                
     printf(" Il numero dei sottoinsiemi K e' : %d", max);
    poi come posso migliorare il fatto del 201?
    Se il valore più grande, come hai detto prima, è 100, non hai problemi.

    Se questo varia, sì, devi trovare il massimo valore delle somme parziali + 1 ... ma occhio che questa non sia molto grande altrimenti avrai un'occupazione di memoria spropositata e il metodo non sarà più utilizzabile.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #19
    si i numeri da generare nel vettore random vanno da 1 a 100 e così dovrebbe andare bene..

    Ti ringrazio tantissimo perché mi hai chiarito tantissimi dubbi

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da franceskaaaz
    Ti ringrazio tantissimo perché mi hai chiarito tantissimi dubbi
    Di nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.