Allora:
- innanzitutto al fine di rendere il codice più chiaro e leggibile ti consiglio di rispettare la spaziatura e l'indentazione;
- tutta la parte sul controllo/reinserimento di n è inutilmente complicata e peraltro non funzionante. Basta semplicemente qualcosa del genere:
do
{
printf("n (MAX %d) --> ", N);
scanf("%d", &n);
}
while(n > N);
- stando alla traccia dell'esercizio la sequenza non deve essere semplicemente crescente, ma STRETTAMENTE crescente. Quindi occhio all'operatore relazionale da utilizzare!
- consideriamo il seguente frammento di codice:
...
int t = 1;
for(i=1; i<n && t==1; i++)
{
if(A[i] >= A[i-1])
{
t=1;
}
else
{
t=0;
}
}
dal momento che t viene inizializzata ad 1, quell'if è inutile;
-
Luke96 ha scritto:
Pensavo di aver capito come fare invece no potresti spiegarmelo?
La variabile t può essere evitata uscendo dal suddetto for con un semplice break.
A questo punto ci saranno due modi per uscire dal for:
1) la condizione del for i<n non viene rispettata perchè i ha assunto il valore n;
2) viene eseguito il break e quindi sarà sicuramente i<n.
A questo punto risulta ovvio come un semplice confronto tra i e n possa darci informazioni sul fatto che la sequenza sia crescente o meno.