Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Scrivere un programma che riceva da un file di testo di none "dati.arc" una sequenza di numeri interi di cui
- non e' noto il numero esatto ma he non puo' superare 1000 numeri, successivamente ordinarli in modo crerscente
- con l'algoritmo di ordinamento selection sort e infine registrare i dati ordinati nel file binario di nome "selection.ord".
- Il programma deve essere composto da almeno tre funzioni, la prima di nome Leggi che legga i dati dal file di porigine,
- la seconda di nome Selection che ordini i dati e la terza di nome Scrivi che scriva i dati nel file di destinazione.
- Eventualmente scrivere anche le funzioni per la lettura da un file binario, l'ordinamento bubble sort e la scrittura dei dati
- in un file di testo. (Oggetto del prossimo esercizio).
- */
- #include<stdio.h>
- #include<fstream>
- #include<iostream>
- #define DIM 1000
- using namespace std;
- struct Struct{
- float v[];
- };
- typedef struct Struct strDat;
- void Leggi(strDat data[]);
- void Scrivi(strDat data[]);
- int main(int argc,char** argv){
- strDat data[DIM];
- int i;
- Leggi(data);
- Scrivi(data);
- }
- void Leggi(strDat data[]){
- int i=0;
- ifstream fin("dati.arc",ios::in);
- strDat strDa;
- if(fin.fail()) exit(1);
- do{
- fin>>strDa.v[i];
- i++;
- }while (!fin.eof() && i < DIM);
- fin.close();
- cout<<"n. "<<strDa.v[0];
- }
- void Scrivi(strDat data[]){
- int i;
- strDat strDa;
- ofstream fout("selection.txt",ios::out | ios::binary);
- if(fout.fail()) exit(1);
- for(int i=0;i<1000;i++){
- fout.write((char*)&strDa[i],sizeof(strDa[i]));
- }
- fout.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement