soluzioni verifica 16/02

ESERCIZIO 4)
In un'urna sono contenute 100 palline, numerate da 1 a 100.
Vengono estratte n palline senza rimettere la pallina nell'urna dopo l'estrazione.
I numeri estratti vengono salvati in un vettore di n componenti.
Supponendo che il vettore sia già caricato, leggi in input un numero intero x e cerca se nel vettore è presente
x, indicando in quale posizione si trova. Se non è presente occorre stampare un opportuno messaggio.
L'algoritmo migliore da usare e' quello di ricerca con sentinella, perche', non rimettendo la la pallina
nell'urna, i numeri sono sempre diversi.
...
printf ("inserisci la posizione da cercare: ");
scanf ("%d",&x);
i=0;
while (i<n && flag==0)
{
if (vet[i]==x)
{ printf ("posizione:%d\n",i+1);
flag=1;
}
i++;
}
if (flag==0)
printf ("valore non presente\n");
…
ESERCIZIO 5)
Carica un vettore vet di n componenti con numeri casuali compresi tra 0 e 100. Costruisci poi un secondo
vettore vet2 che contenga le sole componenti maggiori di 50 del vettore vet. Stampa il vettore vet2 ottenuto.
int main(void)
{int n,vet[100],vet2[100],i,j=0;
printf ("inserisci n");
scanf ("%d",&n);
srand(time(NULL));
for (i=0;i<n;i++)
vet[i]=rand()%101;
for (i=0;i<n;i++)
if (vet[i]>50)
{vet2[j]=vet[i];
j=j+1;}
printf ("\nstampo vettore ottenuto:\n");
for (i=0;i<j;i++)
{
printf ("%d",vet2[i]);
}
return 0;}
ESERCIZIO 6)
Ogni mattina di un mese di 30 giorni Pippo svolge un certo numero di flessioni. Il numero di flessioni è
salvato nel vettore vet. Il vettore si suppone già caricato, a partire dall'indice 0.
a) calcola il numero totale di flessioni svolte nel mese
b) calcola il numero di giorni in cui Pippo ha svolto meno di 10 flessioni
int main(void)
{int n=30,vet[n],conta=0,somma=0,i;
// caricamento vettore (non svolto)
for (i=0;i<n;i++)
{
somma=somma+vet[i];
if (vet[i]<10)
conta++;
}
printf ("\nnumero totale flessioni:%d\n ",somma);
printf ("numero giorni richiesti:%d\n ",conta);
return 0;}