DeSa ha scritto:
Puoi mettere anche lo "/t" e ogni 3 stampe metti lo "/n" cosi te li stampa incolonnati
Inviato dal mio GT-I9100 utilizzando Tapatalk
grazie per il suggerimento DeSa, molto utile non conoscevo la \t.
ho implementato anche il massimo dell array tramite una funzione.
ecco il nuovo codice
/* Programma d'esempio per generare numeri pseudo-casuali in C */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAXSIZE (10000)
int *maxarray(int *array,int);
void main() {
//double x;
int n,m,limitesuperiore,limiteinferiore;
int array[MAXSIZE];
int c,d,t;
int elementocasuale;
elementocasuale=0;
int massimo;
massimo=NULL;
/* setta casualmente l'origine della sequenza prendendola dal timer */
srand(time(NULL));
c=0;
int avanti;
avanti=0;
/* per avere un intero casuale fra 50 e 9999 */
limitesuperiore=9999;
limiteinferiore=50;
//m = rand ()% 10;
n=rand() % (limitesuperiore - limiteinferiore) + limiteinferiore;
printf("dimensione casuale dell'array scelta: %d ", n);
printf("\n\npremi 0 per iniziare il riempimento casuale di elementi casuali,\nche verranno stampati a video.\n\n ");
scanf("%d",&avanti);
//riempimento array
int zi;
zi=1;
int yi;
for (c = 0; c < n; c++) {
elementocasuale=rand() % (limitesuperiore - limiteinferiore) + limiteinferiore;
array[c]=elementocasuale;
printf("%d ",elementocasuale);
}
/* massimo=maxarray(&array,n);
printf("\n il massimo e' %d ",massimo); */
// ORDINAMENTO
//qui inizia l insercion sort
for (c = 1 ; c <= n - 1; c++) {
d = c;
while ( d > 0 && array[d] < array[d-1]) {
t = array[d];
array[d] = array[d-1];
array[d-1] = t;
d--;
}
}// qui finisce l'insercion sort
printf("\n\npremi 0 per iniziare l'ordinamento con insercion sort.\n\n ");
scanf("%d",&avanti);
massimo=maxarray(&array,n);
int accapo=0;
// STAMPA L' ARRAY ORDINATO
for (c = 0; c <= n - 1; c++) {
if(array[c]!=massimo){// senza l if non stampa l ultimo elemento
if(accapo==3){printf("\n");
accapo=0;}// fa andare a capo ogni 3 interazioni
accapo++;
printf("%d\t elemento numero: %d valore: ", array[c], zi);
}
else{
printf("%d",massimo);
}
zi++;
accapo++;
}
printf("\n \n LISTA TERMINATA!!\n ");
massimo=maxarray(&array,n);
printf("\n il massimo e' %d \n",massimo);
}
int *maxarray(int *array, int dim){
int i;
int max;
max=-1;
for(i=0;i<dim;i++){
if (array[i]>max){
max=array[i];}
}
return max;
}
Allegati: