Intanto grazie ad entrambi per avermi risposto.
Per domani devo fare un esercizio che consiste nel trovare i divisori di un numero e memorizzarli in una lista.
Io ho risolto cosi, compila ma nn fa nulla:
Codice:
#include "stdafx.h"
#include <iostream>
#include <cstdio>
#define DIM 100
using namespace std;
struct nodo
{
int dato;
nodo *next;
};
void Visualizza(nodo*);
void Inserisci_Testa(nodo*,int[DIM],int);
void Trova_divisore(int,int[DIM],int&);
int main(int argc,char *argv[])
{
nodo *testa=NULL;
int posmax,num,arraydiv[DIM];
cout<<"Inserisci un numero..";
cin>>num;
Trova_divisore(num,arraydiv,posmax);
Inserisci_Testa(testa,arraydiv,posmax);
Visualizza(testa);
getchar();
return 0;
}
void Visualizza(nodo*T)
{
nodo *scorri;
scorri=T;
while(scorri!=NULL)
{
cout<<"\nElemento: "<<scorri->dato;
scorri=scorri->next;
}
}
void Inserisci_Testa(nodo*T,int array[DIM],int posmax)
{
int i;
nodo *nuovo=new nodo;
for(i=0;i<posmax;i++)
{
nodo *nuovo=new nodo;
nuovo->dato=array[i];
nuovo->next=T;
T=nuovo;
}
}
void Trova_divisore(int num,int div[DIM],int &posmax)
{
int i=1,j=0;
while(i<=num)
{
if(num%i==0)
{
div[j]=i;
j++;
}
i++;
}
posmax=i;
}
Grazias