Newsgroup: it.comp.lang.c++
Titolo: PER ANDREA LAFORGIA OPPURE PER CHI MI SPIEGA

Innanzitutto ti ringrazio per la risposta che mi hai dato e il codice che mi
hai mandato ... ma molte cose non mi sono chiare perciň se me le spieghi mi
fai un grandissimo favore ;-)
<CODE>
#include <iostream>
#include <string> //???? che file č? mai sentito ...
using namespace std ; //???? che fa questo comando?
string estratto( string s, int idx ) //???? che tipo di variabile
//č "string"????
{
       return s.substr( 0, idx ) + s.substr( idx + 1 ) ; //????  //che vuol
dire "idx" e che comando č "s.substr"
}
void anagramma( string radice, string s, int livello )
{
     for ( int i = 0 ; i < s.size() ; i++ ) //???? "s.size()" ????
     {
         string t = radice + s[i] ;
         if ( t.size() == livello )
         {
            cout << t << endl ;
         }
         anagramma( t, estratto( s, i ), livello ) ;
     }
}
void calcola_anagrammi( string s )
{
     anagramma( "", s, s.size() ) ; //???? questa rigna non la
//capisco proprio !!!
     // c'e' sicuramente un modo per ottimizzare questo
     // doppio passaggio...
}
int main()
{
    string my_string ;
    cout << "Inserire la stringa da anagrammare : " ;
    cin  >> my_string ;
    calcola_anagrammi( my_string ) ;
    return 0 ;
}
</CODE>
Ciao e grazie per la risposta!

(........)
Prego.
Lawrence Oluyede
rhy...@insieme.net
"La realtà delle cose si nasconde dietro 
la loro reale apparenza (Maestro Hiamuri)"

fai un grandissimo favore ;-)
BASTA per cortesia !
Evita di scrivere messaggi indirizzati a me sul gruppo di discussione
ed evita di spedirmeli per posta elettronica.
Fai finta di aver trovato quel codice su un sito internet e di non
conoscerne l'autore.
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

per la gestione delle stringhe
no; l'header string.h contiene le funzioni per la gestione delle
stringhe in stile C (strlen, strcpy, ecc.)
l'header string contiene il necessario per usare il tipo della
libreria standard std::string, molto piů potente
Anto
--
Antonio Cuni, 18 anni, studente
Brainbench Certification: 
Master C++: 4.44, higher than 97% of all previous test takers.
Visual Basic 5: 3.06, higher than 77% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688

 stringhe in stile C (strlen, strcpy, ecc.)
Veramente quello si chiama <cstring>. Invece <string.h> č l'header di
std::string corrispondente a <string> ma che non mette i nomi nel
namespace std.
EMG


Mi dispiace, ma aveva ragione Antonio: string.h == cstring == funzioni della
libreria C per la manipolazione di stringhe C-style.
La classe std::string ha solo "string" come header ufficiale (salvo che sul mio
sistema l'header "string" richiama "std_bastring.h", che a sua volta richiama
"std_bastring.cpp"). Essendo std::string ideata per far parte del namespace
std, tutti coloro che la utilizzano sono tenuti ad utilizzare tale namespace.
Così come codice di nuova produzione non dovrebbe assolutamente utilizzare
header mantenuti solo per compatibilità (per intenderci, tutti quelli che
terminano per .h).
Ciao
Domenico Barra

 libreria C per la manipolazione di stringhe C-style.
Sorry, scrissi una cavolata. :-)
EMG

namespace std.
se fai la prova vedi che ho ragione io (non credo che ci sia qualche
compilatore bacato in questo senso, sarebbe una schifezza)
cmq altra domanda: gli header C++ "vecchi", tipo iostream.h sono
standard o sono estensioni dei compilatori?


 standard o sono estensioni dei compilatori?
Sono estensioni.  Gli unici header con l'h previsti dallo
standard sono quelli ereditati dal C.
	Mauro

 ha scritto nel messaggio
news:3A96CB51...@iperbole.bologna.it...

...mi sa che lui parlava proprio di quelli...
Massimo

standard o sono estensioni dei compilatori?
Purtroppo (mea culpa) non ho un draft dello standard, ma Stroustrup riferisce
la doppia denominazione solo agli header della libreria standard del C. Ciò
implica che i vecchi <iostream.h>, <iomanip.h> ... della "ex libreria
semi-standard" del C++ non siano più contemplati dallo Standard. Ad ogni modo,
qualsiasi compilatore che io conosca mantiene i vecchi header per
compatibilità (com'è ragionevole, ci sono milioni di righe di codice scritto in
C++ antico). Bisognerebbe vedere che cosa recita lo Standard ISO a proposito.
A tutt'oggi vedo gente che scrive utilizzando la vecchia denominazione per gli
header standard; personalmente lo ritengo un cattivo stile di programmazione,
perché si utilizza comunque una caratteristica che lo Standard vuole far
scomparire.
Ciao
Domenico Barra

...mi sa che lui parlava proprio di quelli...
no. parlavo proprio di quelli del C++ (iostream.h, ad esempio)
--
Antonio Cuni, 18 anni, studente
Brainbench Certification: 
Master C++: 4.6, higher than 98% of all previous test takers.
