Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
//
temp = daOrd[k];
daOrd[k] = daOrd[k+1];
daOrd[k+1] = temp;
}
}
}
}
// Swap - scambia i valori di due variabili
void swap(int *a, int *b){ // nell'invocare la funzione necessario
mettere '&' prima dei parametri (passare indirizzi)
int temp;
temp = *a;
*a = *b;
*b = temp;
}
//Verifica se un numero primo
int verifica_primo(int daVer){
int primo=1, n;
for (n=2;n<=daVer/2 && primo;n++)
if ((daVer % n)==0)
primo=0;
return primo;
// Scansione di un array
void getArray(int VETT[]){
int i;
for(i=0 ; i<MAX ; i++){
printf("Inserire elemento %d del vettore: ", i+1);
scanf("%d", &VETT[i]);
}
// Scansione matrice
void getMatr(int MATR[][MAX2]){
grande MAX1 x MAX2
int i, j;
for(i=0 ; i<MAX1 ; i++){
for(j=0 ; j<MAX2 ; j++){
printf("Inserire elemento [%d,%d] della matrice: ", i, j);
scanf("%d", &MATR[i][j]);
}
}
}
// Stampa array
void printArray(int VETT[ ]){
int i;
for(i=0 ; i<MAX ; i++){
printf("%d ", VETT[i]);
}}
// Stampa matrice
void printMatr(int MATR[][MAX2]){
int i, j;
for(i=0 ; i<MAX1 ; i++){
printf("\n");
for(j=0 ; j<MAX2 ; j++)
printf("%d\t ", MATR[i][j]); }
}
// Copia una matrice in un array ordinatamente
void matrToarray( int MATR[][N], int VETT[]){ //N.B. la matrice parametro
ha dimensioni [N][N] e l'array dimensione [N*N]
int i, j, x;
for(i=0; i<N ; i++){
for(j=0 ; j<N ; j++){
x=((i*N)+j);
VETT[ x ] = MATR[i][j] ;
}}}
MEMORIA DINAMICA
Le funzioni sottostanti agiscono su strutture dati di tipo LISTA, composte da
nodi cos definiti:
typedef struct El {
tipoDato dato;
struct El *prox;}
nodo;
return(primo);