Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1

    [C] array ordinato o no

    oggi sto proprio con il cervello spento....e pure sarò arrivato a prendere una decina di caffè .......praticamente devo fare un programmino che mi controlla se un array di n elementi è ordinato oppure no con una funzione che venga richiamata nel main....questo è il progetto del programma ma gli manca il motore

    codice:
    #include <stdio.h>
    #define dim 100
    
    int ordinato (int a[], int n); //prototipo function
    
    int main(){
        
        int a[dim];
        int n, i, ord;
        
        printf("inserire dimensioni vettore = ");
        scanf("%d", &n);
        
        for(i=0;i<n;i++){
        printf("a[%d] = ", i);
        scanf("%d", &a[i]);
        }
        
        switch(ord){
                         case 0: printf("il vettore e' disordinato", ordinato(a, n)); break;
                         case 1: printf("il vettore e' ordinato", ordinato(a, n)); break;
                         }
        system ("pause");
        return 0;
    }           
    int ordinato (int a[], int n){
        int ord;
        /*!!!!!!!!!!!!!!! idea assente !!!!!!!!!!!!!!!! */
        /*la variabile "ord" dovrebbe assumere 0 se è disordinato e 1 se è ordinato per far funzuinare lo "switch"*/
        
        
    }
    non so proprio che algoritmo schiaffarli....qualche spunto????

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi controllare, elemento per elemento, se il corrente è minore(maggiore) del successivo o no.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    e si l'avevo intuito questo ma non so come fare....

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Allora non volevi solo uno spunto ... cosa non sai fare? Il ciclo ? Esaminare tutti gli elementi?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    questo è "l'algoritmo" che avevo scritto come bozza per ragonarci su

    codice:
    for(i=0;i<n;i++){
        if(a[i]<a[i+1]){
        ord=1;
        }
        else { ord=0;}
        }
    e non funziona....naturalmente.....Dove sbaglio? nella logica giusto?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Dovrebbe funzionare a patto che

    1) il ciclo termini a n-1 (altrimenti sfori ...)

    2) se trovi che l'ordine non è verificato, imposti ord a 0 e termini con un break
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    non ho capito il secondo punto....

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quando poni ord a 0 devi terminare il ciclo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    nella bozza non era già impostato così?

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Skass89
    nella bozza non era già impostato così?
    No ... il ciclo non si conclude se metti ord = 0
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.