esiste una funzione built-in in C che mi permette di verificare se un array è ordinato o meno?
esiste una funzione built-in in C che mi permette di verificare se un array è ordinato o meno?
non nè ho mai sentito parlare...
Però il C ti consente di costruirla, così poi te la ritrovi lo stesso!!
solo che non sò esattamente come si includono nuove librerie, forse dovresti memorizzarle nella cartelle lib..
:master:
Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)
questo controlla l'ordinamento di un array di interi (n elementi), e restituisce 1 se ordinato, 0 altrimenti
int ordinato (int *a, int n)
{
int i=0, ord=1;
while (i++<n && ord)
{
ord = (a[i] <= a[i+1]);
}
return ord;
}
![]()
int ordinato (int *a, int n)
è un prototipo della fuzione che verifica se l'array è ordinato o meno??
Se così forse conviene che restituisca bool..
Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)
Quando ho letto il msg non mi ha visualizzato il corpo della funzione..
ord = (a[i] <= a[i+1]);
non ho compreso questa linea di codice...
mettendo le parentesi tonde, l'espressione all'interno restituisce un valore booleano?!
Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)
L'algoritmo è fatto per c ma funziona anche per c++
la funzione restituisce un intero: in c il tipo booleano non esiste, in questo caso un booleano è rappresentato da un intero (true se è non zero, false se è zero)
l'istruzione " ord = (a[i] <= a[i+1]) " mette nella variabile ord il risultato dell'espressione booleana (a[i] <= a[i+1]), quindi ord varrà 1 se a[i]<=a[i+1], 0 altrimenti.