mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Valore NULL per una variabile string.

Salve.
Se ho una variabile di tipo string come faccio ad assegnarle NULL?
Se la variabile e' A, facendo A=NULL, mi ritorna un errore.
Grazie.

 Se la variabile e' A, facendo A=NULL, mi ritorna un errore.
Una std::string non puo` essere "null"; puo` essere *vuota*
(contenere 0 caratteri), il che puoi ottenere assegnandole "",
o, meglio, chiamando la sua funzione-membro erase() senza
argomenti.
Alex


Dovrei inserire il contenuto della variabile in un campo int.
La variabile contiene soltanto valori di questo tipo:
"01", "33", "05", ecc. oppure "".
I numeri vengono automaticamente convertiti in int ma per la stringa 
vuota come faccio?
Grazie.
-- 
per rispondere togli <toglimi> dall'indirizzo di posta. 

 vuota come faccio?
Da quale meccanismo vengono mai "automaticamente
convertiti" questi valori stringa in valori caratteri?  Se,
ad esempio, usi atoi, la stringa vuota verra` convertita
nell'intero 0.
Al peggio, farai
    int pippo;
    if(lastringa.empty())
        pippo = quellochevuoitu;
    else
        pippo = misteriosaconversione(lastringa);
Alex

Newsgroup: it.comp.lang.c++
Titolo: aiutatemi con la borland!!

non riesco a fare funzionare il compilatore a linea di comando
della Borland (5.5), perche'?
Qual'e' la procedura esatta per farlo funzionare?
Se al prompt di DOS digito bcc32 dovrei tirare fuori una
schermata con le opzioni del compilatore....ma cio' non succede
infatti mi si dice che e' impossibile eseguire il programma
vi prego di aiutarmi in modo
assoluto!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Basta fare BCC32 file1.cpp file2.cpp file3.cpp
oppure BCC32 main.cpp file1.obj file2.obj ...
dove i file oggetto si creano con BCC32 -c file.cpp
Manlio Perillo
----------------
Bye,
Sebastiano

 schermata
Con tutta probabilità la directory che contiene il bcc32.exe non è
inserita nel PATH;
edita autoexec.bat e riavvia il computer
ciao Nicola
Newsgroup: it.comp.lang.c++
Titolo: Porta Parallela

Salve a tutti,
devo fare un programmino che spedisca un carattere digitato da tastiera
sulla porta parallela. L'unica cosa che ho per far funzionare il programma
su un vecchio 486 e' la versione 1.0 del Turbo C++
Ho provato a fare un putc sullo stdprn ma la stampante non risponde, potete
aiutarmi?
Grazie!
Ciao!
:-)


Il seguente programmino con il TC++ 1.01 funziona perfettamente:
#include <stdio.h>
int main()
{
    putc( 'A', stdprn );
    putc( '\n', stdprn );
    return 0;
}
Nota il '\n' senza il quale la stampa non parte a causa della
bufferizzazione dell'output. Al limite prova anche ad aprire
esplicitamente il file in questo modo:
FILE *stdprn = fopen( "PRN", "w" );
EMG

Newsgroup: it.comp.lang.c++
Titolo: aiuto x libro

				saludos


Newsgroup: it.comp.lang.c++
Titolo: GNU C/C++ for WIN

Mi sono appena scaricato i files relativi al porting
del compilatore GNU C/C++ di Linux per piattaforma
Windows (!).
Qualcuno lo ha mai utilizzato? Non so come configurare
le directory e partire... HELP!
Per chi fosse interessato a reperire i files:
http://space.tin.it/computer/rgerola/
Ciao e grazie in anticipo.
 
ke...@iol.it


Io mi sono, tanto per cominciare, creato un file batch di nome gnu.bat
che imposta i seguenti SET:
SET
PATH=C:\gnuwin32\b18\H-i386-cygwin32\bin;c:\gnuwin32\b18\tcl\bin;%PATH%
SET GCC_EXEC_PREFIX=C:\gnuwin32\b18\H-i386-cygwin32\lib\gcc-lib\
SET TCL_LIBRARY=C:/gnuwin32/b18/tcl/lib/tcl7.6
Poi ho creato una directory \tmp e una \bin in C: , infine, ho copiato
il file SH.EXE (non ricordo dove si trova ma piu' o meno e' in
C:\GNUWIN32\B18\.....) in \BIN.
Dato che, probabilmente, hai scaricato una versione piu' recente della
mia (b19 ?) i settaggi sopra non vanno bene perche' devi modificare il
b18 con un b19 o quello che e', ok ?
Ciao, UDA.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165
Newsgroup: it.comp.lang.c++
Titolo: vector<fstream>: push_back non funziona

 fstream mi permette di fare questo?
Sì. Hint: fstream::seekg(), fstream::seekp().
Max

 lifetime degli oggetti) o un vettore di "smart pointer".
siccome non sono copiabili ne assegnabili ho dovuto fare una cosa
bruttissima:
vector<fstream*>
in pratica un vettore di puntatori a fstream..
per indirizzare a un fstream devo usare l'orribile:
(*(*i)) >> variabile; e simili
non ho trovato altra maniera.
grazie
Giulio
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.514 / Virus Database: 312 - Release Date: 28/08/2003

 bruttissima:
Che è quello che ti suggerivo io. Non vedo cosa ci sia di bruttissimo in un
vettore di puntatori. Ma tant'è.
Considerazione estetiche a parte, ricordati che gli oggetti instaziati vanno
distrutti esplicitamente (lo so, è pacifico, ma lo dico lo stesso, perché
ogni tanto qualcuno, inspiegabilmente, si stupisce che i container non
invochino 'delete' automaticamente).
Max

 invochino 'delete' automaticamente).
vector<fstream*> files;
    for(vector<string>::iterator i = logs.begin(); i <= logs.end(); i++) {
        fstream is((*i).c_str()); //is contiene l'fstream
        fstream *pis = &is;        //pis contiene il puntatore a is
        files.push_back(pis);
    }
secondo te ho fatto giusto??
devo invocare qualche delete?
giulio


 secondo te ho fatto giusto??
No! Stai inserendo nel vettore l'indirizzo di un oggetto locale il cui 
lifetime è *limitato* al blocco 'for'.
Instanzia gli oggetti tramite 'new' e inserisci nel vettore i puntatori. 
Prima che il vettore esca di scope o quando stai eliminando degli  
elementi, userai 'delete' per distruggere gli oggetti interessati.
Max

infatti mi pareva di aver tralasciato qualcosa...
grazie..


 Version: 6.0.514 / Virus Database: 312 - Release Date: 28/08/2003
credo perche' gli oggetti di tipo fstream non possono essere copiati.
se sei sicuro che vector non verra' ridimensionato puoi provare un:
vector<fstream*>;
Newsgroup: it.comp.lang.c++
Titolo: spegnimento pc

Cerco un programmino che ti spenga il pc a una detterminata ora e che forzi
la chiusura di tutti i programmi aperti, accetto anche il codice pronto da
compilare

Fumzione standard non vi è ma se ti interessa per ambiente Windows 32-bit
c'è :
#include <windows.h>
BOOL ExitWindowsEx(UINT uFlags, DWORD dwReserved);
In UINT uFlag poni come parametri  EWX_SHUTDOWN | EWX_FORCE
il primo per chiudere e il secondo per forzare i programmi.
Per la chiusura ad una determinata ora potresti fare un programmino che si
riduce ad icona nel system tray icon con
BOOL Shell_NotifyIcon(
    DWORD dwMessage,
    PNOTIFYICONDATA pnid
);
typedef struct _NOTIFYICONDATA {
    DWORD cbSize;
    HWND hWnd;
    UINT uID;
    UINT uFlags;
    UINT uCallbackMessage;
    HICON hIcon;
    TCHAR szTip[64];
    DWORD dwState; //Version 5.0
    DWORD dwStateMask; //Version 5.0
    TCHAR szInfo[256]; //Version 5.0
    union {
        UINT  uTimeout; //Version 5.0
        UINT  uVersion; //Version 5.0
    } DUMMYUNIONNAME;
    TCHAR szInfoTitle[64]; //Version 5.0
    DWORD dwInfoFlags; //Version 5.0
} NOTIFYICONDATA, *PNOTIFYICONDATA;
E in seguito ad un timer con la chiamata WM_TIME chiami la funzione
ExitWindowsEx(...);

Newsgroup: it.comp.lang.c++
Titolo: GetPrivateProfileString con file maggiori di 64k

Non riesco a leggere chiavi e sections di files di dimensioni superiori a
64k, e' un limite della GetPrivateProfileString , (API Windows) ?
Esiste una funzione con le stesse funzioni ma senza questo limite?
Qualcuno ha riscontrato lo stesso problema?

Ciao,
Questo newsgroup si occupa del lingaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Linux:      it.comp.linux.development
                it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
forums.borland.com
 (in inglese)
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: Errore del linker

Salve. Ho un problema:
Il visual c++ 6.0 mi da l'errore (credo) di doppie definizioni in due
file di codice sorgente differenti:
Io ho provato a fare (in tutti e due i file) qualcosa del genere
(all'inizio dei due file):
#ifndef COSTANTE
#define COSTANTE
#include	<windows.h>
#include	"filei.h"
#endif
Ma i due errori rimangono.
Potete aiutarmi?
Grazie e ciao.
Giacomo

 
bisognarebbe vedere l'intero codice. se i due file sono file di
prepocessore e contengono solo prototipi forse dovresti spostare
l'#endif alla fine del file... poi bisognerebbe vedere come li includi
 
___________________________________________________________
                    _
 \ \// // //| | // |_ _|_|_ member of EventOrizon software
  \//\// // | |//  |_  | |   
http://members.xoom.it/wavexx
___________________________________________________________

l'#endif alla fine del file... poi bisognerebbe vedere come li includi
Mi correggo. Nel file file.h ho il seguente codice:
#ifndef VALORE
#define VALORE
#define  macro
#define  macro1
#define  macro2
...
typedef struct  comb COMB;
struct comb
{     ...
};
#endif  /*VALORE*/
Questo file viene incluso in 2 file diversi di codice sorgente (
*.cpp).
Il linker mi da l'errore di doppie definizioni.
Perchč?
Ciao
Giacomo

 Perchč?
Perche`, evidentemente, hai delle definizioni ripetute nelle
parti che hai omesso con "..." -- non, certamente, per il
typedef, e la definizione di struct comb, che sono cose che
al linker non arrivano neppure.
La cosa piu` probabile (tirando a indovinare, visto che non
ci riporti ne` i messaggi di errori del linker, ne` le parti
rilevanti del tuo codice!) e` che tu abbia (nel .h, o nei .cpp,
per il linker non fa differenza) delle definizioni di VARIABILI
GLOBALI del tipo
    COMB pettine;
Evita le variabili globali, se appena appena puoi; di solito
(non sempre, ma il 99%+ delle volte) ci sono alternative
migliori.
Se proprio DEVI avere variabili globali, e` importante che
la gran parte del tuo codice veda solo DICHIARAZIONI:
    extern COMB pettine;
e *NON* _DEFINIZIONI_:
    COMB pettine;
Di definizioni, su tutto l'insieme del codice che stai
sottoponendo al linker, devi averne UNA E SOLO UNA
(per ciascuna variabile globale, o funzione libera).
Non di piu`; non di meno.  UNA.  Questa "one-definition
rule" e` uno dei cardini del C++ (e, incidentalmente,
anche del C).
Alex

Alex
Giacomo

 valori[] =
Appunto: questo array di struct, poiche` lo stai definendo in un .h
che viene incluso in molteplici .cpp, si trova ad essere molteplicemente
definito.
Soluzione: rendi la struct da contenere nell'array non-anonima,
e _dichiara_ solamente (SENZA _definire_) l'array nel .h:
    extern struct chiamalainqualchemodo valori[];
La *definizione* mettila in UN file .cpp dopo l'inclusione del .h:
    struct chiamalainqualchemodo valori[] = {
        // tutte le inizializzazioni mettile qui
    };
Alex
Newsgroup: it.comp.lang.c++
Titolo: aiuto per principiante

ho un priogramma con molti file .cpp e .h volevo chiedervi come sapere
qual'è il file originario che fà partire tutto il programma e inoltre perchè
quando ne compilo uno a volte in visual cpp mi esce uno strano errore del
tipo file cl.exe non trovato??
grazie a tutti.

 ha scritto nel
messaggio news:dGVV8.3333$K_4.1...@twister1.libero.it...


> > ho un priogramma con molti file .cpp e .h volevo chiedervi ...
Fossi in te non insisterei.
Sei OT.
Prova su it.comp.programmare.win32 (cl.exe->MSVC).
saluti
--
zello

Newsgroup: it.comp.lang.c++
Titolo: [OT] ipi file

Potete i tipi dei principali FIles (audio,vedeo,immagini,canzoni,internet)
Ciao Gabry

 wrote in message
8b8id1$47k$1...@lacerta.tiscalinet.it...

Newsgroup: it.comp.lang.c++
Titolo: Aiuto sulla classe CPropertySheet

Aiuto........
Cerco qualcuno che abbia usato questa classe per porgli delle domande.
Aspetto con ansia una risposta Ciao

Cproperty  appena usata..
se posso esserti utile..aspetto tue domande!

 se posso esserti utile..aspetto tue domande!
Non qui, per favore.
EMG
Newsgroup: it.comp.lang.c++
Titolo: [OT] OpenGL

Dovrei realizzare un programma su vecchi sistemi UNIX.
Da quale versione sono supportate le OpenGL?
Grazie in anticipo.
Stefano.

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:	it.comp.os.linux.development
Per C++Builder:	i gruppi borland.public.cppbuilder.*, disponibili sul
		server 
newsgroups.borland.com
 (prevalentemente in
		inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: Per la cronaca, non portabile

Le sorprese non finiscono mai.
Il seg. codice viola lo standard:
std::vector<int> coll;
if (coll.size() > 1)
{
   std::sort(++coll.begin(), coll.end());
}
Questo accade perché in alcune implementazioni begin() restituisce un 
puntatore anziché una classe.
Kiuhnm

 puntatore anziché una classe.
Usa le funzioni boost::next e boost::prior.
Vedi: 
http://boost.org/libs/utility/utility.htm#functions_next_prior
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila


Questo accade perché begin() ritorna un r-type, e non è detto che questo 
sia un l-type.


Piu' esattamente non e' consentito modificare rvalue di tipi scalari,
mentre e' consentito chiamare funzioni membro su rvalue di tipi
definiti dall'utente.
Ciao,
Nicola


Gia'. E' un po' che ci pensavo ed il tuo messaggio mi ha convinto. Ho
mandato un messaggio al proposito a comp.std.c++ . Vediamo che reazione
c'e'.
Ciao,
Nicola

 definiti dall'utente.
Già. E io devo smettere di postare dopo la 1 di notte e scrivere 
stronzate come r-type invece che rvalue.

 c'e'.
E' interessante vedere come su un ng dove si parla di standard 
consiglino di usare la/e libreria/e Boost.
Comunque su quel ng hanno la coda di paglia (ho guardato anche altri post).
Kiuhnm

 usare la/e libreria/e Boost.
Probabilmente perché viene ritenuta ormai parte dello standard, anche se 
ancora non lo è ufficialmente.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
 

Una precisazione,
cosa si intende per rvalue e lvalue ?
Ciao.
Nicola Musatti ha scritto:


 cosa si intende per rvalue e lvalue ?
lvalue è un'espressione che puo' stare a sinistra (l) di un 
assegnamento. rvalue è quello che puo' stare solo a destra.
Ad esempio la costante 1 è un rvalue ma non un lvalue.
E.

Newsgroup: it.comp.lang.c++
Titolo: Aprire DIALOG

Sono alle prime armi con il visual c++ e vorrei sapere il comando per far
aprire un dialog cliccando su un semplice pulsante
Grazie
lapa...@iqsnet.it

...

Newsgroup: it.comp.lang.c++
Titolo: Programmare in X-Window - HELP ME!!!!

Salve a tutti,
vorrei programmare in X-Window, ho provato tcl/tk ma mi piacerebbe
programmare in C++ con gli oggetti (tipo MFC o VCL).
Mi sapreste indicare le librerie da usare, qualche programma carino e
magari anche un manuale.
Grazie,
Dome
--
http://members.it.tripod.de/beelsoft/
--

magari anche un manuale.
<pubblicita'>
http://www.guest.net/homepages/mmotta/VDKHome/index.html
Wrapper C++ per le Gtk+, si ispira alla VCL, fra poco esce anche il
VDKBuilder con capacita' visuali (previsto per quando non fa piu'
casini strani del tipo bloccare il mouse ^_^). C'e' anche il porting
per win32. C'e' anche un comodissimo manuale in ps e doc.
</pubblicita'>
--
(o-  T | If Bill Gate$ had a nickel for every time window$ crashed...
//\  U | 
V_/_ X | ...oh wait, he does...
email: r.salmaso (at) 
flashnet.it
 | pinguin (at)
linuxfan.com

...


 --
Io trovo molto interessante FLTK (
http://fltk.easysw.com
); si tratta di
un ToolKit basato su una libreria di Classi C++ Multipiattaforma (Win32,
Linux, vari UNIX, OS/2) distribuita sotto licenza LGPL.
Ciao, U D A.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
u...@freemail.it
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165

Newsgroup: it.comp.lang.c++
Titolo: I/O su Seriale

Salve,
quali sono le API per dialogare con la seriale ???
Uso il Borland C++ Builder 4. Grazie, ciao Lvca.

"Luca Garulli" <l.ga...@tin.it.removeme> writes:

Questo messaggio non riguarda tanto il linguaggio C++ in se, quanto
piuttosto problematiche che sono caratteristiche di un particolare
compilatore e di un particolare ambiente operativo.
Per questo motivo il messaggio e' off-topic in questo gruppo, di cui
ti prego di leggere il charter; puoi avere maggior fortuna chiedendo
su it.comp.programmare.win32 .
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

RIDOCOLO!!!!!!


No, non e' ridicolo per niente. Ci sono altri posti dove porre domande
riguardanti i PC, Windows e cosi' via. Lo scopo di questo gruppo e'
trattare il linguaggio C++ come tale.
Un po' di disciplina individuale costa poco sforzo ed evita di far
perder tempo inutilmente a molta gente.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Help Patent or vender?

I have a Idea (memory resident program) and have gone to my software
teachers at school and two other engineers all say to finish the project
does anyone know of sound channels to get proper advise or should I sell to
the monster Microsoft because they could put it together, and I can't? Lost
and having to many signed disclaimers? anyone find this problem need
answers.
Steven_...@worldnet.att.netnospam
remove the no spam on the end.
At the advise of my teacher I seen an attorney today, and they are even
limited? suggestion in all area's welcome please. He said to speak with C++
people so here HELP!

Hi, Steven,
You may not be aware of it, but you posted your message on the italian
C++ newsgroup. You may have better luck with comp.lang.c++ (no it at the
beginning).
Best regards,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: RTTI (credo)

Ciao a tutti!
Ho il seguente problema, grazie in anticipo per l'aiuto:
supponiamo di avere una classe base Pizza, da cui derivano Margherita,
Capricciosa e tante altre.
Io vorrei, dato una stringa, o cmq un identificativo della classe
derivata, costruire l'oggetto desiderato, *senza far uso di switch*.
Mi spiego meglio: supponiamo che chi chiama la mia funzione fornisce
come parametro string tipo="Marg", nel senso che vuole che io
costruisca una Margherita. Ebbene, io vorrei fare (scusate la
sintassi)
//...
Pizza * pMiaPizza;
switch(tipo)
{
	case "Marg": pMiaPizza = new Margherita();
	case "Capri": pMiaPizza = new Capricciosa();
	//...
}
pMiaPizza->inforna();
//...
pero' senza usare lo switch. Perche'? Beh, perche' altrimenti se
aggiungo una pizza nel menu' devo modificare il codice in tutti i
punti in cui uso il costruttore in questo modo!
Quindi pensavo a qualcosa di incapsulato del tipo
pMiaPizza = new Pizza(tipo), ma in questo modo avro' sempre in mano un
oggetto della classe base.
Secondo me e' possibile farlo con RTTI, ma non saprei di preciso come.
Avete qualche idea?
Forse la ruggine mi impedisce di vedere una soluzione piu' immediata?
Grazie mille!
Ciao, Giulio


Direi che il meccanismo di RTTI non ti serve, perche' con quello
identifichi il tipo di qualcosa che esiste gia', mentre il tuo problema
e' creare un tipo di oggetto diverso a seconda del valore di una
stringa. La soluzione piu' comune e' usare una factory, ovvero una
classe o una funzione libera che incapsuli il meccanismo di creazione,
ad es.:
Pizza * pizzaiolo(char * s) {
  if ( strcmp(s,"Margerita") == 0 )
    return new Margerita;
  else if ( strcmp(s,"Capricciosa") )
    return new Capricciosa;
  ...
}
Ciao,
Nicola

 }
Eh si`.  Internamente, si puo` (se serve) ottenere una
efficienza potenzialmente maggiore con una implementazione
"a mappa", naturalmente (scrivo "a braccio", quindi
scusate eventuali errori di sintassi!):
typedef Pizza* (*generator)();
class Pizzaiolo {
    typedef std::map<std::string, generator> map_t;
    map_t lamappa;
public:
    void registra(const std::string& s, generator g) {
        lamappa[s] = g;
    }
    Pizza* genera(const std::string& s) {
        map_t::iterator it = lamappa.find(s);
        if(s == lamappa.end()) return 0;
        return (*s.second)();
    }
};
Alex
Newsgroup: it.comp.lang.c++
Titolo: Vecchia questione irrisolta: test funzioni membro a compile-time

Salve. Svariati mesi fa postai su comp.lang.c++.moderated una richiesta
(postai prima qui ma non ebbi risposta) : chiedevo se fosse possibile
stabilire a compile time se una certa classe possedesse una certa funzione
membro. Ottenni risposte molto interessanti, tra cui una soluzione proposta
da Rani Sharoni (per il caso di test di una funzione membro void
T::swap(T&) ) :
typedef char (&yes)[1];
typedef char (&no) [2];
// detects member named "swap"
// with signiture void (T::*)(T&)
template<typename T>
struct has_swap_member
{
private:
    // first indicated by Richard Smith and also Artem Livshits
    template<typename U, void (U::*)(U&)> struct WrapType;
    template<typename U>
    static yes check(WrapType<U, &U::swap> *);
    template<typename U>
    static no  check(...);
public:
    static const bool result =
        sizeof(check<T>(0)) == sizeof(yes);
};
has_swap_member<T>::result è true se e solo se T possiede una funzione
membro swap(T&).
Il problema è che con questo metodo non si possono intercettare le funzioni
membro non definite direttamente in una classe, ma ereditate da una classe
base: così se si ha struct A{void swap(A&);}e struct B:A{} ,
has_swap_member<B>::result è false. Ciò è dovuto a una regola dello standard
piuttosto fuorviante che stabilisce la non-covarianza del tipo delle
funzioni membro tra classi base e classi derivate: per esempio sia lo swap
di A che lo swap ereditato da B risultano essere del tipo void (A::*)(A&).
Lo stesso Rani Sharoni ha quindi provato una soluzione alternativa, che in
teoria dovrebbe funzionare:
template<typename T>
struct has_swap_member
{
private:
    template<unsigned> struct Int2Type;
    template<typename U>
    static U check2(void (U::*)(U&));
    // falls under SFINAE?
    template<typename U> static yes
    check(Int2Type<sizeof(check2(&U::swap))> *);
    template<typename U>
    static no  check(...);
public:
    static const bool result =
        sizeof(check<T>(0)) == sizeof(yes);
};
Ma questo metodo non fornisce il risultato corretto sui compilatori basati
sul front-end EDG (ho poi scoperto che si tratta effettivamente di una sorta
di bug che non permette di usare operatori all'interno delle specificazioni
di parametri template che non siano tipi).
A questo punto ho cercato varie soluzioni per conto mio, provando ad
aggirare il problema in svariati modi, ma finora non sono pervenuto a nessun
risultato.
Sta diventando una specie di rompicapo... qualcuno ha qualche idea
interessante in proposito (se non addirittura una soluzione, di cui non sono
a conoscenza) ?
--
imho

 [...]
Scusate, aggiungo che il thread a cui mi riferivo è consultabile al seguente
link:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=utf-8&threadm=_svH9.58
536%242B1.1602342%
40twister2.libero.it
&rnum=1&prev=/groups%3Fq%3Dauthor:imho
%2Bgroup:comp.lang.c%252B%252B.moderated%26sourceid%3Dopera%26num%3D0%26ie%3
Dutf-8%26oe%3Dutf-8
Grazie.
--
imho
Newsgroup: it.comp.lang.c++
Titolo: [OT] scrivere un driver

non so se sono OT o meno ma non saprei dove postare
tempo fa ricordo di aver visto in una libreria un testo relativo alla
scrittura dei driver;
non ricordo precisamente il titolo.
chi mi informa meglio?
grazie
ciao


I driver sono il tipo di software piu' dipendente dalla piattaforma che
esista. Prova a chiedere su un newsgroup specifico per il tuo sistema
operativo.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: manuali x neofiti

qualcuno mi sa consigliare qualche testo per cominciare? Ho installato
Borland C++Builder 6 Enterprise ma a parte cambiare il colore dello
sfondo......
Grazie a tutti.
Claudio


Per il linguaggio C++ puoi provare col tutorial che trovi in
www.programmazione.it
 sezione C++.
Se hai pazienza puoi leggerti il volume 1 di questo libro
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Se ti serve aiuto specifico sull' "ambiente integrato Borland C++
Builder" hai 2 opzioni
1) Ti compri un libro
2) Usi l'help in linea
Ti consiglio l'opzione 2.
Cesare

 wrote in message
tMPM8.28626$K4.7...@twister2.libero.it...


Newsgroup: it.comp.lang.c++
Titolo: dichiarazione metodo

Salve,
come mai se dichiaro il metodo all'intenro della classe nel seguente
modo:
node* deleteHash(char nome[]) {
	int pos = searchHash(nome);
	if(pos == -1)
		return NULL;
	else {
		hashVet[pos].free = 0;  /* cella cancellata */
		return hashVet[pos].n;  /* puntatore al nodo eliminato dalla hash */
	}
}
funziona mentre se dichiaro solo il prototipo e poi lo implemento nel
seguente modo:
node* Tree::deleteHash(char nome[]) {
	int pos = searchHash(nome);
	if(pos == -1)
		return NULL;
	else {
		hashVet[pos].free = 0;  /* cella cancellata */
		return hashVet[pos].n;  /* puntatore al nodo eliminato dalla hash */
	}
}
l'intestazione mi da problemi?
TIA,
PL

 l'intestazione mi da problemi?
Perché sbagli qualcosa.
Ciao
  Andrea

 Perché sbagli qualcosa.
questo lo immaginavo..volevo capire cosa però


Per questo dovreti postare un esempio minimale, ma completo.
Ciao,
Nicola


E magari anche il messaggio d'errore del compilatore :)
Ciao
  Andrea

 E magari anche il messaggio d'errore del compilatore :)
il messaggio d'errore è un syntax error in prossimità della riga:
node* Tree::deleteHash(char nome[]) {
Invece se implemento il metodo dentro la classe:
class Tree {
public:
  ...
private:
   ....
   node* deleteHash(char nome[]) {
      ...
   }
   ....
};
non da nessun problema

 
Se 'node' è un nome dichiarato all'interno della definizione di "Tree",
dovrai scrivere
 Tree::node* Tree::deleteHash(char nome[]) {
Max

  Tree::node* Tree::deleteHash(char nome[]) {
Giusto! Era proprio questo il problema!
Grazie mille
Newsgroup: it.comp.lang.c++
Titolo: getch, getc, getchar

quali di questi mi permette di accettare un carattere in input senza
necessità di premere invio?
scusate per la banalità, ho provato con tutte e tre ma niente.
ivan

 scusate per la banalità, ho provato con tutte e tre ma niente.
Il C++ standard prevede solo getc e getchar e nessuna delle due
risolve il tuo problema. Ti conviene cercare nell'API del tuo sistema
operativo (e di conseguenza chiedere su un newsgroup specifico).
Ciao,
Nicola

 Nicola
Ciao Alex
***************************************
messaggio inviato tramite HostSearch.it
---------------------------------------
---> 
http://www.hostsearch.it/newsgroup
***************************************

 tecnica un po' delicata ma molto efficiente.
???????
Tommy

...
| > > quali di questi mi permette di accettare un carattere in input senza
| > > necessità di premere invio?
|
| Secondo me dovresti applicare una tecnica chiamata overloading
| dell'operatore>>
| che ti permette di inserire dei caratteri senza premere invio è una
| tecnica un po' delicata ma molto efficiente.
|
quindi? dove posso andare a documentarmiper questa tecnica?
grazie duemila
ivan

 grazie duemila
Documentarti per .... overloading? O funzione che non aspetta l'invio?
Nel primo caso su di un libro di C++!
Nel secondo caso su di un libro, tutorial, manuale etc.... del tuo sistema
operativo.
Ad esempio su piattaforma win32 potresti avere le seguenti funzioni:
SHORT GetAsyncKeyState(int vKey);
o molto piu' semplicemente
int _getch() di conio.h
Che pero' NON funzionano sotto linux, macos, solaris etc...
NON e' C++ standard, qui e' OT.
Per questo ti consiglio di rivolgerti ad un NG specifico per il tuo OS.
Tommy

 necessità di premere invio?
nessuno. Non dipende dalla funzione ma dalla modalità di input, che per 
cin/stdin è quasi sempre line-buffered, e va sostituita con unbuffered. 
Non so dirti se setvbuf() sia effettivamente parte dello standard C/C++ 
o piuttosto un'aggiunta della AT&T, perchè la documentazione che ho qui 
non concorda
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.0. C, C++ and ASM developers
                               and beta testers are welcome!
Newsgroup: it.comp.lang.c++
Titolo: CGI

Salve a tutti,
sapreste indicarmi dove posso trovare informazioni sulla
programmazione CGI in C++?
Grazie 
	Andrea

 programmazione CGI in C++?
No, ma ho dell'iniziativa.  Dando in pasto a google le keywords "cgi
programming c++" ottengo 401000 hits; il quarto sembra promettente:
Programming CGI in C/C++
Programming CGI in C/C++. Written By Sam Thomas. Written Wednesday,
January 15, 1997 Click this link to expand to full page view. ...
www.papillion.ne.us/~sthomas/cgi_in_c.html
 - 17k - Cached - Similar pages
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 programmazione CGI in C++?
 
http://cgi.resourceindex.com/Programs_and_Scripts/C_and_C++/
 
http://www.google.com/search?hl=en&q=cgi+c%2B%2B
Max

Newsgroup: it.comp.lang.c++
Titolo: convertire int in stringhe "esadecimali"

come da oggetto, mi servirebbe una funzione standard per convertire un int
in esadecimale.
spiego meglio : adesso uso
int num=...;
ostrinstream  obj;
obj<<num;
return obj.str();
vorrei pero' che l'int venisse visualizzato in esadecimale.
come posso fare in C++ standard?
GRAZIE!

 come posso fare in C++ standard?
obj << hex << num;
-- 
Maurizio Loreti  - Linux Is Not UniX -  
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
Newsgroup: it.comp.lang.c++
Titolo: GRAPHICS.H

Dopo aver incluso la libreria <graphics.h> mi da errori del tipo:
undefined symbol _closegraph in module NONAME00.cpp
per ogni istruzione che riguarda la grafica...
Come mai????

 writes:

graphics.h non e' una libreria, ma un header file.  Presumibilmente
devi, appunto, includere la libreria (per il linker).  graphics.h non
e' un header standard; consulta la documentazione data da chi te l'ha
fornito.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
Murphy's law: "Anything that can go wr
/bin/fortune: segmentation fault - core dumped

Newsgroup: it.comp.lang.c++
Titolo: Classi MFC in DLL

Salve a tutti,
 qualcuno mi spiega con un esempio come posso creare una DLL
contenente una classe derivata da una classe MFC, per esempio una
classe MiaFinestra derivata da CFrameWindow ?
E poi come richiamero' (dinamicamente) la mia finestra contenuta nella
DLL ?  
Grazie.
P.S. uso VC++ 5.0
-------------------
mimmo....@ntt.it
-------------------

DLL ?  
Mi ricordo di aver eseguito il tech editing di un articolo di Scot Wingo a
proposito di MFC nelle DLL tempo addietro...Visual C++ Developers Journal:
http://www.vcdj.com
Fai un tentativo con il motore di ricerca del sito magari.
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Win32/MFC/COM Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
----------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: FORSE OT

Salve a tutti, ed un grazie a tutti quelli che hanno risposto al post
precedente.
Forse questa è un pò OT, ma ci provo ugualmente:
sto cercando di imparare a fare applicazioni 3D, ma non so da dove
cominciare...qualcuno sa darmi una mano?
Mi basterebbe avere tra le mani un piccolo motore 3d, con qualche
spiegazione. Giusto per far ruotare un cubo magari...
Spero che qualcuno mi sappia aiutare!
Grazie a tutti.
P.S.
Intanto vedo di trovare un NG sull'argomento... :)

Spero che qualcuno mi sappia aiutare!
Io ho comprato in rete un libro economicissimo (con CD),
'programmazione Grafica 3D - Dalle basi alla costruzione di un motore
3D' di Andrea Fasano, Gruppo Editoriale Infomedia, č a mio avviso
ottimo per iniziare, contiene sorgenti e un sacco di roba, compresi
motori grafici (se non sbaglio c'č anche quello di wolf3D) non so se
lo vendono ancora, secondo me č ottimo.
Ciao!  :)
-- 
_____________________
RedPelle
--==--==--==--==--==--==--
 
redp...@email.it
 
www.redpelle.cjb.net
--==--==--==--==--==--==--

 Intanto vedo di trovare un NG sull'argomento... :)
it.comp.programmare
it.comp.programmare.win32
it.comp.giochi.sviluppo
--
Gerolamo
Newsgroup: it.comp.lang.c++
Titolo: Applicazione pattern "Tools and Materials"

Forse vado un po' fuori dal tema del Newsgroup dato che non si tratta
di un problema specificamente C++. Tuttavia penso che il tema possa
interessare molti.
Nel programma che sto realizzando avevo pensato di utilizzare la
"metafora" Tools & Materials descritta in [Coplien,1995] ed in
particolare il pattern riguardante la distinzione tra Interaction
Part e Funcional Part (non so quanti sappiano di cosa sto parlando,
se serve posso cercare di entrare piu' in dettaglio).
Avevo pensato di definire due classi base che si occupassero
principalmente di garantire che la IP si registri all'evento
SubFPCreated della FPart.
In pratica dovrei avere piu' o meno il seguente codice
(ho ridotto all'osso):
class Event
{
public:
   Register(Observer *);
   Unregister(Observer *);
...
}
class FPart
{
public:
   Event SubFPCreated;
}
class IPart : Observer
{
protected:
   FPart *MyFP;
public:
   IPart(FPart *FP):MyFP(FP) { FP->SubFPCreated.Register(this); }
   ~IPart(){ MyFP->SubFPCreated.Unregister(this); }
}
Arrivo quindi al mio problema: non vorrei memorizzare
direttamente nella classe IPart il puntatore alla FPart in
quanto li non conosco la sua classe, costringendomi ad
utilizzare un dynamic_cast ogni volta che accedo alla FP.
Ha senso che mi ponga questo problema? (questa mi sa che e'
una domanda da beginner)
Se si allora la classe IPart non puo' accedere alla FP nel
distruttore. Come faccio ad imporre che venga effettuato
l'unregister dall'evento SubFPCreated?
Grazie,
Andrea Polci
[Coplien,1995] James O. Coplien e Douglas C. Schmidt: Pattern
               Languages of Program Design. Addison-Wesley. 1995.
               ISBN 1-201-60734-4
--
Andrea Polci    
apo...@geocities.com

l'unregister dall'evento SubFPCreated?
FPart deve possedere un metodo per chiedere l'unregister
(il che si ricongiunge all'idea di derivare FPart da Event o fornire un
metodo che esegua il forward della richiesta) in modo da scrivere
~IPart::IPart() { MyFP->Unregister(Observer*)  }
Spero di aver compreso il problema.
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

 ~IPart::IPart() { MyFP->Unregister(Observer*)  }
Nella soluzione che avevo pensato cio' diventerebbe:
~IPart::IPart() { getFP()->Unregister(this)
Andrea Polci
--
Andrea Polci    
apo...@geocities.com

Newsgroup: it.comp.lang.c++
Titolo: allocazione dinamica e costruttore

Come fare per allocare dinamicamente un oggetto il cui costuttore accetti
degli argomenti?
Cioe':
struct esempio {
	esempio(char *);
};
/*ERRORE*/ struct esempio*  ptr=new esempio; /*ERRORE*/

 /*ERRORE*/ struct esempio*  ptr=new esempio; /*ERRORE*/
esempio* ptr = new esempio(stringa);



  char array[] = "pippo";
  esempio* ptr = new esempio( pippo );
MM

 wrote in message
news:Pine.LNX.4.21.02122...@localhost.localdomain...

Ovviamente e' una svista:
esempio* ptr = new esempio(array);
Maurus
Newsgroup: it.comp.lang.c++
Titolo: OT: come si fa un CGI in VC++

Un CGI dovrebbe essere un comunissimo programma eseguibile,
per Win32.
Esso deve rispettare alcune regole di IN/OUT.
E` vero?
E come si fa?
Ciao e grazie.
Michele.

 E come si fa?
Come tutti gli altri programmi.
	Mauro

...


 Chiedo troppo se chiedo un esempio super banale?
Il piu' piccolo CGI:
  #include <iostream>
  int
  main()
  {
    std::cout << "Content-Type: text/html\n\n";  
    // due '\n' per separare gli header dai dati
 
    std::cout << "<TITLE>Prova CGI</TITLE>\n";
    // l'unico tag obbligatorio in HTML
    return 0;
  }
In realta' per qualcosa di utile, prima si leggono i paramentri
passati al programma, da cin (metodo POST), o dall'environemnt
(getenv("QUERY_STRING"), metodo GET), poi si scrive un file
HTML un po' piu' lungo, creato in base ai parametri ricevuti.
	Mauro

Newsgroup: it.comp.lang.c++
Titolo: Funzione omologa

Salve a tutti,
sto lavorando da poco con Visual C++ e ho un disperato bisogno di sapere
come posso passare in una variabile il contenuto di piu celle di un array.
In clipper5 c'è la funzione Val, qualcuno sa se in C++ c'è una funzione
omologa?
Bye
--
***** La vita è una sola, viviamola intensamente *****

 omologa?
Se ho capito bene, basterà che tu passi l'array con una coppia di interi che
indichino da quale indice iniziare a leggere fino a quale finire, oppure
creare dinamicamente un nuovo array, copiare gli elementi che interessano, e
passargli quell'array.

Newsgroup: it.comp.lang.c++
Titolo: corrispettivo C++ di Serializable

Come si capisce dall'oggetto "vengo" da java, o meglio, programmo da anni
anche in C++ ma in per quanto riguarda memorizzazione/caricamento su/da
disco ho esperienza solo con java.
Ora vi chiedo:esiste un modo per salvare e riprendere oggetti complessi?Se
si, come?
Se no, come devo fare allora? Devo salvare campo per campo e ricordarmi di
riprenderli nello stesso modo con cui li ho salvati?(spero di no...)
Grazie :-)

 wrote

Hei, chi si rivede!
Se programmi su windows, le MFC provvedono a questo.
Altrimenti:
Guarda su: 
http://www.parashift.com/c++-faq-lite/serialization.html
Sono le FAQ sulla serialization in C++ standard (per implementartela tu).
Oppure puoi guardare progetti in corso e/o finiti come:
http://www.gnu.org/directory/commoncpp.html
http://cser.sourceforge.net/
insomma, fatti una ricerca con google e vedi cosa altro trovi.
Tommy

Newsgroup: it.comp.lang.c++
Titolo: Aiuto devcpp

Ciao ragazzi, un aiuto stupido, ma essenziale
in turbo c usavo la funzione clrscr() chiamata con conio.h
per pulire lo schermo, qual è l equivalente in dev???

 per pulire lo schermo, qual è l equivalente in dev???
Non so se sia la soluzione + giusta, ma io uso
system("cls");
Ciao, sav :-)
--
sav(at)
despammed.com
Newsgroup: it.comp.lang.c++
Titolo: Ancora per Alex

Scusami ancora ma visto che hai dimostrato di essere un vero esperto.
Utilizzando il Visual C++ 5.0 Il Wizard ha creato l'ossatura di una finestra
sulla quale ho poi aggiunto il codice per disegnare linee cerchi, e punti
(una specie di autocad molto povero)
il mio problema è il seguente:
non riesco a far scorrere la barra di scorrimento verticale con i tasti
PagSu, PagGiù della tastiera.
sul gestore OnKeyDown ho inserito un costrutto tipo:
switch(nChar) {
    case Vk_PAGEUP:
    ecc
}
il problema è che nel gestore OnSetFocus() non risco a chiamare la funzione
"puntatore alla finestra"->SetFocus();
non so il nome del puntatore che contiene L'handle della mia finestra.
spero di essermi spiegato bene  so che tu puoi aiutarmi
Grazie

non so il nome del puntatore che contiene L'handle della mia finestra.
Cioe` non sai a quale finestra vuoi dare il focus...?  Beh, devi in
qualche modo determinarla...!  Se ad esempio vuoi dare il focus
ad un tuo controllo il cui ID vale la costante simbolica IDC_PIPPO,
puoi ottenerne un puntatore-a-CWnd col metodo GetDlgItem
della sua CWnd-padre, e cosi` via.  I sistemi sono tanti, ma
anzitutto devi sapere a chi vuoi darlo, il focus...
Alex

Newsgroup: it.comp.lang.c++
Titolo: ostringstream

Sto scrivendo un programma che usa un oggetto ostringstream ma c'e' 
qualcosa che non va. Non riesco a capire cosa, solo dove:
//---------------------------------------
#include <iostream>
#include <string>
std::string polar(const Cmpl& cmpl)
{
   double alpha;
   std::string pol_str;
   std::ostringstream oss(pol_str,std::ios::out);
   alpha=-cmpl.getim()/cmpl.getre();
   oss<<r<<"(cos("<<alpha<<")+i*sen("<<alpha<<")";
   return pol_str;
}
//---------------------------------------
Quando compilo con gcc mi dice:
cmpl.cpp: In function `std::string polar(const Cmpl&)':
cmpl.cpp:163: error: variable `std::ostringstream oss' has initializer 
but incomplete type
Cosa sbaglio?
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

    return pol_str;
Qui 'pol_str' è sempre vuoto, perché 'oss' ha un proprio buffer e non 
scrive dentro 'pol_str' (come tu sembri credere, a giudicare dal codice). 
Elimina 'pol_str' e restituisci oss.str().
Max

Max M. ha scritto:

Grazie. In effetti non ho ancora studiato le stringstream, ma le uso per 
comodita'.


Newsgroup: it.comp.lang.c++
Titolo: Come si fa per rilevare la pressione di un tasto?

Salve a tutti,
Come si fa per far rilevare al C o al C++ la pressione di un tasto? (ad
esempio le frecce cursore)
Girovagando nei meandri della guida ho trovato la funzione di conio.h  int
kbhit(), che però restituisce 1 quando un qualsiasi tasto è premuto, non
restituisce quale...
se qualcuno sa aiutarmi...
Grazie.
Predator

 restituisce quale...
Basta che dopo lo leggi con getchar() o equivalente e avrai il cosice
ASCII del tasto premuto.
Ciao.
-- 
     (ZZZ)       Filippo Salotti, Bagni di Lucca, Lucca, Italy.
    //   \\  _                 E-mail : 
fil...@humnet.unipi.it
   /Y\    ZD<_o===============================================o
 .oZZZZZo.     | Studente Ingegneria Informatica Automatica  |
<OXXXXXXXO>    | Dip. Sistemi Elettrici Universita' di Pisa. |

...

Newsgroup: it.comp.lang.c++
Titolo: Determinante matrice...per favore!!

Ciao a tutti
sarei grata a chiunque mi riesca a spiegare un algoritmo per il calcolo del
determinante di un matrice di ordine (n*n)...sto provando da ore ma non
riesco nemmeno a trovare il procedimento giusto....POTETE AIUTARMI????
Grazie a tutti
ciao ciao

 ha scritto nel messaggio
news:rmuD9.9976$2B1.2...@twister2.libero.it...

Hai provato su news://it.scienza.matematica ?
A prima vista lo farei implementando ricorsivamente il metodo di Laplace,
oppure con un generatore di permutazioni e applicando la definizione stessa
di determinante.
In ogni caso il tempo di calcolo e' proporzionale al fattoriale di n.
Probabilmente si puo' fare di meglio sfruttando eventuali valori nulli
(zeri) presenti nella matice.

...

E' un po' che ho dato Analisi Numerica, comunque mi viene in mente che
se la matrice è particolare puoi trarne vantaggio, quindi esegui un
primo scan
per determinare se è diagonale (e in caso sei a posto); poi controlli
se è triangolare inferiore/superiore e nel caso puoi usare la
fattorizzazione LU. Altrimenti ti rimane gauss.
Bus



Direi OT... comunque anche se e' triangolare direi che
basta semplicemente prendere il prodotto degli elementi
della diagonale: qualunque permutazione che vada a
pescare da uno dei lati infatti andrebbe anche a
pescare dall'altro, annullando il termine. O sbaglio ?
Comunque una "discesa" alla gauss-jordan credo che
sia un metodo standard.
HTH
Andrea

E' vero, volevo dire tridiagonale, se no non c'č niente da fare.
Comunque hai ragione č OT.
Claudio

 sia un metodo standard.
confermo, e aggiungerei che nel caso una riga (durante la 
normalizzazione) o colonna (durante la ricerca di un elemento non-nullo 
alla posizione i-esima esaminata) si annullino, hai immediatamente 0 
come risultato.
il metodo piu' semplice e' O(n^2), ma credo ne esista anche una v. 
n*log(n)

 In ogni caso il tempo di calcolo e' proporzionale al fattoriale di n.
ci sono algoritmi che offrono comportamenti ben migliori di O(n!); mal 
che vada usi il metodo di eliminazione di gauss e calcoli il 
determinante della matrice risultante: O(n^3)
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra

Newsgroup: it.comp.lang.c++
Titolo: Alcuni comandi x dos

Per favore, non scrivere i messaggi in HTML, perche' non tutti i
newsreader lo accettano. Il C++ standard non ha comandi di gestione
dello schermo e simili.
Ti consiglio di provare a riporre le tue domande su
it.comp.programmare.win32, dove e' piu' probabile che i frequentatori
sappiano aiutarti.
Ciao,
Nicola

 il cursore in una riga e colonna a piacimento? 
Non ce ne sono; il C++ Standard non ha NESSUNA funzione che faccia
questo.  Devi usare approcci dipendenti dalla specifica piattaforma di
tuo interesse (chiedi nel gruppo dedicato a quella piattaforma, come, ad
esempio, it.comp.programmare.win32).
Alex

 permettono di spostare il cursore in una riga e colonna a piacimento?
Semplicemente non ci sono. Devi cercare tra librerie specifiche non
standard fornite dal tuo compilatore.
EMG
Newsgroup: it.comp.lang.c++
Titolo: Posizione cursore Visual C++

Ho necessità di realizzare una applicazione Console in Visual C++.
Esiste un'istruzione per posizionare il cursore alle coordinate
desiderate senza l'utilizzo delle API di Windows.
Per intenderci in modo simile all'istruzione Locate di GWBasic dove
potevo specificare riga e colonna.
Grazie.
Stefano.

 ha scritto nel messaggio
news:88ac4503.02100...@posting.google.com...

Qui siamo OT per questo argomento... la domanda la dovevi porre su
"it.comp.programmare.win32".
Comunque basta dare un occhiata alla documentazione di <conio.h> che NON fa
parte dello standard del C++ ma fa parte della libreria del tuo compilatore
(guarda nell'help di VC++).
Li vi trovi tutte le funzioni che ti servono per gestire, in modalità
carattere, lo schermo.
del tipo: gotoxy... wherex... wherey... ecc...
Ma ti ripeto che siamo OT per questo argomento.
Saluti
Rosario Ianuale

 ha scritto nel messaggio
news:88ac4503.02100...@posting.google.com...
