Inserire i divisori di un numero in un vettore (C)

di il
1 risposte

Inserire i divisori di un numero in un vettore (C)

Ciao a tutti...ho un problema che sicuramente per molti di voi sarà di facilissima risoluzione...
Devo inserire i divisori di un numero in un vettore e stampare a video il vettore.
Io riesco a stampare a video solo i divisori (presi come interi normali e non come elementi di un vettore) tramite questo tipo di scrittura:

#include<stdio.h>
#include<stdlib.h>
int main(){
int i, N;
for(i=0;i<N;i++){
if((N%i)==0){
printf("%d", i);}}
system("PAUSE");
return 0;
}

Ad esempio se N = 6, il programma mi scrive 1 2 3
So che devo inserire qualcosa per poter scrivere i divisori in un vettore, ma non so cosa...mi potete aiutare??? X FAVORE!!!
Grazie

Fabio

1 Risposte

  • Re: Inserire i divisori di un numero in un vettore (C)

    Prima di tutto devi dichiarare un vettore, per esempio

    int vet[100];

    poi quando trovi un divisore di un numero lo devi inserire in questo vettore, per far ciò devi utilizzare un indice che lo incrementi ogni volta che devi inserire un numero nel vettore


    #include<stdio.h>
    #include<stdlib.h>
    int main(){

    int i, N;
    int vet[100];
    int k=0;

    //caricamento vettore
    for(i=0;i<N;i++){
    if((N%i)==0){
    vet[k]=i;
    k++;
    }
    }

    //stampa di tutti gli elementi del vettore.
    //nota che a questo punto, k ti indica quanti elementi hai
    //caricato nel vettore

    for(i=0;i<k;i++)
    printf("%d", vet[i]);


    system("PAUSE");
    return 0;
    }



    I cretini sono sempre più ingegniosi delle precauzioni che si prendono per impedirgli di nuocere
Devi accedere o registrarti per scrivere nel forum
1 risposte