Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Salve a tutti!
un piccolo consulto...
vi riporto questo esercizio:
Scrivere un codice in linguaggio C, opportunamente strutturato in funzioni, per gestire completamente il seguente problema:
1.Supposta l'esistenza di un file binario "primo.dat" contenente max 15 numeri reali;
2.Supposta l'esistenza di un file di testo"secondo.txt" contenente max 15 numeri interi;
si allochi dinamicamente un vettore di interi contenente la sequenza di numeri acquisiti dai due file, in modo che la stessa non contenga ripetizioni tenuto anche conto del fatto che i numeri reali saranno arrotondati.
N.B. per l'arrotondamento applicare l'algoritmo per cui se la parte decimale di un numero reale è <=0,5 il numero viene arrotondato all'intero più piccolo altrimenti all'intero più grande.
ho scritto il seguente codice ma non sono sicuro che vada bene e mi riporta degli errori, qualcuno sa darmi una mano...?
grazie in anticipo...
Meglio che impari subito che dire "mi dà degli errori" non significa nulla. Precisa quali errori e dove.
1. Per i decimali non si usa la virgola, ma il punto...
2. L'if alla riga 48 presenta lo stesso codice anche nell'else. Qual è dunque la sua utilità?
3. Per leggere ed elaborare dati ci vuole un ciclo a condizione finale, mentre tu ne stai usando una a condizione iniziale. Se il file è vuoto, avrai un dato senza senso.
4. Il for alla riga 67 trascura degli elementi, poiché parte da i e non da 0. Il testo non dice che gli elementi dei file siano ordinati, né che siano unici.
5. Sempre nello stesso for, se decrementi elementi di 1, puoi anche andare a scartare un dato valido. Ad esempio, nell'array {1, 2, 2, 3, 4} rintracci un doppione nel secondo due e diminuisci elementi (ossia il numero degli elementi da considerare), escludendo 4; tuttavia 4 è un dato corretto.
6. Ci vorrebbe una lista.