SHARE
TWEET

Untitled

a guest Nov 15th, 2017 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. Scrivere un  programma che riceva da un file di testo di none "dati.arc" una sequenza di numeri interi di cui
  3. non e' noto il numero esatto ma he non puo' superare 1000 numeri, successivamente ordinarli in modo crerscente
  4. con l'algoritmo di ordinamento selection sort e infine registrare i dati ordinati nel file binario di nome  "selection.ord".
  5. Il programma deve essere composto da almeno tre funzioni, la prima di nome Leggi che legga i dati dal file di porigine,
  6. la seconda di nome Selection che ordini i dati e la terza di nome Scrivi che scriva i dati nel file di destinazione.
  7. Eventualmente scrivere anche le funzioni per la lettura da un file binario, l'ordinamento bubble sort e la scrittura dei dati
  8. in un file di testo. (Oggetto del prossimo esercizio).
  9. */
  10.  
  11. #include<stdio.h>
  12. #include<fstream>
  13. #include<iostream>
  14. #define DIM 1000
  15. using namespace std;
  16. struct Struct{
  17.     float v[];
  18. };
  19. typedef struct Struct strDat;
  20. void Leggi(strDat data[]);
  21. void Scrivi(strDat data[]);
  22. int main(int argc,char** argv){
  23.     strDat data[DIM];
  24.     int i;
  25.     Leggi(data);
  26.     Scrivi(data);
  27. }
  28. void Leggi(strDat data[]){
  29.     int i=0;
  30.     ifstream fin("dati.arc",ios::in);
  31.     strDat strDa;
  32.     if(fin.fail()) exit(1);
  33.     do{
  34.         fin>>strDa.v[i];
  35.             i++;    
  36.     }while (!fin.eof() && i < DIM);
  37.     fin.close();
  38.     cout<<"n. "<<strDa.v[0];
  39. }
  40.  
  41. void Scrivi(strDat data[]){
  42.     int i;
  43.     strDat strDa;
  44.     ofstream fout("selection.txt",ios::out | ios::binary);
  45.     if(fout.fail()) exit(1);
  46.     for(int i=0;i<1000;i++){
  47.         fout.write((char*)&strDa[i],sizeof(strDa[i]));
  48.     }
  49.     fout.close();
  50. }
RAW Paste Data
Top