Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] confronto elementi di uno stesso array?

    Salve a tutti, stavo provando a svolgere questo esercizio http://www.unife.it/ing/informazione...3-gennaio-2015 in vista dell'esame ma sto riscontrando alcune difficoltà con la procedura di elaborazione. Io devo confrontare le due date per vedere se sono uguali e poi sommare le ore ma per come l'ho scritta io il programma non fa quello che dovrebbe fare. Ho cercato esercizi simili anche qui, infatti ho apportato alcune modifiche dopo aver letto varie discussioni ma nonostante tutto il risultato non è corretto. Questa è la mia bozza della procedura:

    void elabora(orario A[], int n)
    {


    int i, j = 0, tot = 0, giorno = 0;


    for (i = 0; i < n; i++)
    {
    for (j = i + 1; j < n; j++)


    {
    if (A[i].day == A[j].day)
    {
    giorno = A[i].day;
    tot = A[i].ore + A[j].ore;
    printf("Giorno %d : ore %d\n", giorno, tot);
    }
    else if (A[i].day != A[j].day)
    {
    giorno = 0;
    tot = 0;
    giorno = A[j].day;
    tot = A[j].ore;
    }


    }






    }




    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quali sono queste due date da confrontare? Perché utilizzi i due cicli for? Devi ordinare il vettore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Quali sono queste due date da confrontare? Perché utilizzi i due cicli for? Devi ordinare il vettore?
    Le date sono quelle nel file. Ho messo il link dell'esercizio. Ho fatto la funzione per aprire e leggere il file e siccome poi con la procedura il programma deve confrontare prima le date,vedere se sono uguali o diverse e poi sommare le ore, sto avendo problemi con la sintassi con cui scriverlo. Con il primo ciclo faccio scorrere tutto il file ed il secondo l'avevo messo in un secondo momento in quanto non avevo proprio idea di come scriverlo con un solo indice..

  4. #4
    Come leggi il contenuto del file .bin?
    « Una volta eliminato l'impossibile, ciò che resta, per quanto improbabile, deve essere la verità. (Sherlock Holmes) »

  5. #5
    La lettura l'hai fatta così più o meno?
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    
    typedef struct lista {
     int giorno;
     char nome[20];
     int ora;
    } lista;
    
    
    void main(){
    struct liste v[100];
    
    
    FILE *fp;
    
    
    fp = fopen("timesheet.bin","rb");
    
    
    int i;
    for(i=0;i<100;i++){
    
    
        fread(&v[i],sizeof(struct lista),1,fp);
        printf("GIORNO :%d\n",v[i].giorno);
        printf("NOME :%s\n",v[i].nome);
        printf("ORA :%d\n\n",v[i].ora);
    }}
    Ultima modifica di paolovox; 09-02-2015 a 17:21
    « Una volta eliminato l'impossibile, ciò che resta, per quanto improbabile, deve essere la verità. (Sherlock Holmes) »

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.