Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    31

    [C] Come si ordina un array di struct in base ad un suo campo di tipo numerico????

    chi riesce a darmi una mano?

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Nello stesso modo in cui si ordina un array di int, solo che fai il confronto sul campo numerico
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    31
    in una struct di questo tipo
    codice:
        struct Studenti {
           char Nome[15],
           Cognome[15];
           int Matricola[9],
           Presenze[120];
       } Stud[50];
    per ordinare devo usare il campo Presenze, quindi io uso solo l'arraay presenze ma mi dice che presenze[i] non è dichiarato
    Ultima modifica di gerry94; 19-01-2014 a 20:01 Motivo: Tag CODE

  4. #4
    Posta il codice che stai usando (tra tag [CODE] ... [/CODE]), altrimenti è difficile aiutarti.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Il campo Presenze è un vettore di 120 interi non un solo intero ... come pensi si debba fare questo ordinamento?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    31

    ora ho usato lo stesso algoritmo che usavo per ordinare un array

    codice:
    #include<stdio.h>main()
    {
    int i,conta,continua,num,MIN,j,POS,temp,Vet[num],Presenze[120];
    struct Studenti {
           char Nome[15],
           Cognome[15];
           int Matricola[9],
           Presenze[120];
           } Stud[50];   
           
    printf("quanti studenti sono iscritti al corso??\n ");       
    scanf("%d",&num);       
    conta=0;   
    
    
    
    
    for(i=0;i<num;i++)
    {
    printf("Immettere dati studente \n ");
    printf("Nome:");
    scanf("%s",&Stud[i].Nome);
    
    
    printf("Cognome:");
    scanf("%s",&Stud[i].Cognome);
    
    
    printf("Matricola:");
    scanf("%d",&Stud[i].Matricola);
    
    
    printf("Presenze:");
    scanf("%d",&Stud[i].Presenze);
    }
    
    
    
    
    for(i=0;i<(num-1);i++)
    {MIN=Presenze[i];
    POS=i;
        for(j=(i+1);j<num;j++)
         {if (Presenze[j]<MIN)
          {MIN=Presenze[j];
          POS=j;
           }
          }
    temp=Vet[i];
    Presenze[i]=Presenze[POS];
    Presenze[POS]=temp;
    }
    
    
    printf("\n");
    for(i=0;i<num;i++)
    {
    printf("Nome = %s \n ",Stud[POS].Nome);
    printf("Cognome = %s \n ",Stud[POS].Cognome);
    printf("Matricola = %d \n",Stud[POS].Matricola);
    printf("Presenze = %d \n",Stud[POS].Presenze);
    }
    system("Pause");
    }
    funziona ma non in modo corretto

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Che vuol dire "non in modo corretto"?

    Non hai risposto alla mia domanda?

    E' possibile che ci vogliano un sacco di post per capire il problema?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    31
    in pratica stampa sempre la stessa persona .... poi invece di stampare la matricola e le presenze stampa un numero del tipo 2658896 che è diverso da quello che ho immesso io

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Per l'ultima volta ... vuoi spiegare cosa sono le 120 Presenze e fai un esempio di quello che vorresti fare?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    31
    ooh che stupido che sono alla fine sono numeri non array (matricola e presenze) ora ho risolto il problema dei numeri senza senso grazie rimane il fatto che pero stampa sempre la stessa persona

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.