Vettore di interi

di
Anonimizzato23166
il
10 risposte

Vettore di interi

Salve a tutti
ho un problema, sto cercando di fare la seguente operazione.

supponiamo di avere un numero intero n e un vettore di interi h=[2,3,5,7]
dovrei ottenere un secondo vettore in cui ogni singola componente sia pari al numero di divisioni che hanno resto zero.
ad esempio supponiamo n=12 e h=[2,3]; il mio vettore risultante dovra' essere g=[2,1]

questo sotto e' il mio pseudo codice che pero' non funziona.

for(i=0;i<Q;i++)
k=0;
while(n%h[i]==0)
k=k+1;
printf("%d\n",k);
grazie in anticipo per ogni aiuto

10 Risposte

  • Re: Vettore di interi

    Premetto che anche con l'esempio che hai fatto, non ho capito cosa deve fare il programma.
    - Q chi è?
    - Il ciclo for non serve a nulla.
    - Se n%h==0 è vera il ciclo while è infinito.
  • Re: Vettore di interi

    Spiega meglio
  • Re: Vettore di interi

    Sia g un vettore di interi della stessa dimensione di h e con tutti gli elementi inizializzati a 0. Sia m una variabile intera. All'interno di un ciclo for poni m=n e finché m%h[j]==0 aumenti g[j] di 1; quest'ultima operazione va ovviamente eseguita all'interno di un altro ciclo, ma non dimenticarti di modificare m ad ogni iterazione.
  • Re: Vettore di interi

    Si scusate ho spiegato il problema malamente, ma nel frattempo l ho risolto con questa funzione che allego.
    in parole povere dovevo fissare ogni valore del vettore g mentre verificavo una certa condizione
    grazie a tutti per le risposte
    
    int ottavo (int *g,int n) { //funzione che stampa gli esponenti dei fattori primi
    
                     int i,k,tmp;
    
                    printf("esponenti dei fattori primi\n");
                                
    		for(i=0;i<n;i++){
                    k=0;
                    tmp=g[i];
                    while(n%tmp==0){
                    n=n/tmp;
                    k=k+1;         }
    
                               printf ("%d\n",k);
                                   }
    
                                      }
    
  • Re: Vettore di interi

    Void ottavo?
  • Re: Vettore di interi

    Come dici?
  • Re: Vettore di interi

    Intende dire che la tua funzione non restituisce in intero quindi dovrebbe essere

    void ottavo

    e non

    int ottavo
  • Re: Vettore di interi

    Grazie per la delucidazione, ho corretto, avrei un altra domanda da fare

    vorrei definire i punti di una griglia supponiamo 3x3 (vedi file allegato) e da questa vorrei essere in grado di definire i punti di una griglia piu' fitta e la possibilita' di muovermi tra una griglia e l altra.
    questo per quanto riguarda la dimensione 2.
    per dimensioni superiori vorrei fare la stessa cosa, ad esempio se la dimensione e' 3 e partendo da una griglia tridimensionale in questo caso 3x3 vorrei avere la possibilita' di muovermi avanti e indietro tra griglie piu' o meno fitte.
    questo e' il primo punto.

    fatto questo e supponendo di rimanere nella dimensione 2 mi piacerebbe creare un nuovo oggetto immagine dei punti della griglia nxn (dimensione 2) in cui ogni punto ha subito una "migrazione" nel piano.

    fatto questo mi piacerebbe costruire in qualche modo le linee geodetiche del nuovo piano. (vedo altro file allegato).

    a questo punto la mia domanda e': come impostereste il problema? con quali oggetti (vettori, vettori di vettori, vettori di strutture etc per cercare di non creare un codice con un numero eccessivo di linee.

    ogni idea e' benvenuta, grazie in anticipo per le risposte.
    ciao
    Allegati:
    secondo file
    secondo file

    primo file
    primo file
  • Re: Vettore di interi

    Crea un altro thread non puoi usare lo stesso per più domande
  • Re: Vettore di interi

    In attesa di un eventuale nuovo thread, inizio a dirti che non ho capito quello che intendi fare. Magari contestualizzare meglio il problema e fare qualche esempio potrebbe aiutare.
Devi accedere o registrarti per scrivere nel forum
10 risposte