Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-12-2002, 09:42   #1
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
C++ : Ordinamento su file (algoritmo sele sort)

Ho realizzato un modulo per l'ordinamento degli elementi all'interno di un file binario . Il problema è semplice : Non ordina !! Qualcuno può aiutarmi ? Il modulo che posterò di seguito si chiama sele_sort . All'interno chiama un altro modulo che conta il numero di elementi del file . Ecco il codice . Fatemi sapere entro stasera . Domani c'è il compito in classe .

#include <iostream.h>
# include <fstream.h>
# include <string.h>
#include <stdlib.h>

void stampa ();
void aggiunta();
int conta_elementi();
void sele_sort ();
struct pers
{
int codice;
char cognome [15];
char nome [15];
};

void main ()
{
char tasto ;
aggiunta();
stampa();
cin >> tasto ;
sele_sort();
system ("cls");
stampa();
cin >> tasto ;
}

void aggiunta ( )
{
pers buffer;
int n,i;
system ("cls");
cout<<"N: ";
cin>>n;
fstream file;
file.open ("ces.txt",ios::out|ios::binary);
for (i=0;i<n;i++)
{
system ("cls");
cin.ignore();
cout<<"CODICE: ";
cin>>buffer.codice;
cout<<"COGNOME: ";
cin.ignore ( );
cin.get (buffer.cognome,15,'\n');
cout<<"NOME: ";
cin.ignore ( );
cin.get (buffer.nome ,15,'\n');
file.write ((char *) &buffer,sizeof buffer) ;
}
file.close();
}

void stampa ()
{
system ("cls");
pers buffer ;
fstream file ;
file.open ("ces.txt",ios::in|ios::binary);
while (file.read ((char *) &buffer,sizeof buffer))
{
cout << "CODICE : " << buffer.codice << '\n' ;
cout << "COGNOME : " << buffer.cognome <<'\n';
cout << "NOME : " << buffer.nome <<'\n';
cout << '\n';
}
}

void sele_sort ()
{
int pos=0;
int pos2=0 ;
int i=0;
int j=0;
int n=0 ;
n=conta_elementi();
fstream file ;
file.open ("ces.txt",ios::in|ios::app|ios::binary) ;
file.clear();
pers buffer;
pers buffer2 ;
for (i=1;i<n;i++)
{
pos2=pos+sizeof buffer ;
for (j=i+1;j<=n;j++)
{
file.clear();
file.seekg(pos);
file.read ((char *)&buffer , sizeof buffer);
file.clear();
file.seekg(pos2);
file.read ((char *) &buffer2,sizeof buffer2);
if (buffer.codice>buffer2.codice)
{
file.clear();
file.seekg(pos2);
file.write ((char *)&buffer,sizeof buffer);
file.clear();
file.seekg(pos);
file.write ((char *)&buffer2,sizeof buffer2);
}
pos2=pos2+sizeof buffer;
}
pos=pos+sizeof buffer;
}
file.close();
}

int conta_elementi ()
{
pers buffer;
int cont=0;
fstream file ;
file.open ("ces.txt",ios::in|ios::binary);
while (file.read((char *)&buffer,sizeof buffer))
cont++;
file.close();
return cont;
}
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2002, 12:35   #2
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
AH ! Forse devo utilizzare il metodo seekp() per il posizionamento in scrittura ? Ora ci provo
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2002, 13:16   #3
Tortellone
Senior Member
 
L'Avatar di Tortellone
 
Iscritto dal: Sep 2002
Città: Napoli
Messaggi: 543
Levami una curiosità a ke scuola stai ?
Tortellone è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2002, 14:10   #4
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Quote:
Originally posted by "Tortellone"

Levami una curiosità a ke scuola stai ?
Istituto Tecnico Industriale Ettore Majorana . Perché ? Anche tu frequenti o pensavi di frequentare questa scuola ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2002, 15:33   #5
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Ho risolto da solo . Grazie lo stesso .
leon84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Le vecchie fotocamere digitali compatte ...
La Cina potrebbe rinviare il ritorno del...
Verizon non è preoccupata della c...
RDNA 5 sulle APU AMD, ma non per tutti: ...
Marvell acquisisce Lumentum per 115 mili...
La febbre dei data center fa impennare i...
ECOVACS T90S OMNI crolla a 499€ su Amazo...
In Cina i camion elettrici hanno gi&agra...
Attacchi hacker ai supermercati in Europ...
I datacenter non piacciono? OpenAI prova...
Cupra Raval sfida BMW, Volvo e le altre:...
BYD supera per la prima volta le 300.000...
Crisi RAM, spunta un prezzo incredibile ...
Ginux, un nuovo kernel compatibile con L...
Gemini Notebook si aggiorna: arrivano i ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v