mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Cerco estrapolatore di E-Mail

Cerco programma o procedura che permette di prelevare da una qualsiasi
pagina HTML, o file di testo, gli indirizzi E-mail e raggruparli
insieme.
Si precisa che tale procedura non verrà usata per fare Spamming.
Si prega di indirizzare le risposta a:
alu...@livenet.it

 Si precisa che tale procedura non verrà usata per fare Spamming.
Io non ci credo!
-- 
     (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. |

insieme.
...Fattelo no? non deve essere difficilissimo.... basta che qundo trovi una
@ registri la stringa precedente e successiva.....
Saluti.
Nathan!

> 
http://www.geocities.com/sunsetstrip/stage/7787
 <<
<<<<<<<<<<<< 
DucaCr...@iol.it
 >>>>>>>>>>>>>>
*** vedo un uomo che sogna
*** in un mondo che affonda
*** dentro a un uomo che sogna
*** posso solo fuggire
*** non potete capire
*** perchè voglio fuggire
                         (Ritmo Tribale)

Newsgroup: it.comp.lang.c++
Titolo: Strumenti di sviluppo

Ciao a tutti,
volevo qualche consiglio su compilatori e ambienti di sviluppo da utilizzare 
per programmazione C++ su sistemi windows. Non Visual C++. In particolare mi 
interesserebbe sapere se ci sono editor e/o compilatori free, e 
possibilmente non troppo pesanti (Visual Studio mi fa paura...)
Grazie


Gli IDE più famosi sono Codeblocks e dev-c++, ce ne sono anche altri
che comunque si appoggiano tutti al compilatore gcc.
Ciao
  Andrea

 ha scritto nel messaggio 
news:eir485$15a$1...@balena.cs.interbusiness.it...

Prova a cercare sulla nostra piccola FAQ:
http://www.emagsoftware.it/faqcpp.htm
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
 

 che comunque si appoggiano tutti al compilatore gcc.
Ciao, grazie. Provo subito con Codeblocks, ho visto che è fornito già con il 
compilatore.

Newsgroup: it.comp.lang.c++
Titolo: Libero eserciziario di C++

Salve a tutti.
All'indirizzo 
http://esercizicpp.sourceforge.net
 è liberamente
disponibile un eserciziario di C++ focalizzato sulla realizzazione di
strutture dati contenitore ed algoritmi sull'elaborazione degli
elementi contenuti.
Saluti,
Marcello Esposito.

 Marcello Esposito.
Grazie....mi è stato molto molto utile!! :))
suami
Newsgroup: it.comp.lang.c++
Titolo: Eseguire comandi mouse/tastiera con c++

potete darmi qualche indicazione su come fare?
una delle due cose.. o tutte e due.. mi spiego..
vorrei usare delle istruzioni in c++ che mi muovano il mouse con cordinate 
x,y e interagiscano con i suoi bottoni (mi basta quello di sx).
oppure che passino dei comandi tastiera.. tipo freccette oppure combinazioni 
come alt+tab.
ah.. dimenticavo.. mi serve per linux.
devo caricare librerie particolari?
grazie mille. 

 devo caricare librerie particolari?
Certamente. Ma questo dipende dall'ambiente in cui girerà il software.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
		-<! $>cd /pub	$>more beer !>-
Newsgroup: it.comp.lang.c++
Titolo: A*

ciao a tutti, ho bisogno di un aiuto per una tesina da realizzare in
c++. Vengo subito al sodo. Si tratterebbe di 'trasportare' un
algoritmo A* già scritto in c++ per dos/windows sotto ambiente linux e
realizzare anche un'interfaccia grafica. Io no so da che parte
iniziare... Intanto mi servirebbe sapere che compilatore posso usare,
che sia il più amichevole possibile, se posso scaricarlo dalla rete e
dove. Oppure sarebbe ancora meglio se qualcuno avesse già implementato
qualcosa del genere e può farmi avere del materiale, o mi può dire
dove trovarlo. Inoltre _qualsiasi_ consiglio è supergradito. Per
favore aiutatemi. Grazie in ogni caso.
 
Ciao 
  Luc

che sia il più amichevole possibile, se posso scaricarlo dalla rete e
Normalmente ogni sistema Linux decentemente installato
comprende gia` il gcc, il compilatore C/C++ della Free Software
Foundation.  Probabilmente sara` il release 2.7.2.qualcosa, vecchio
anche se ormai abbastanza solido -- se vuoi un compilatore assai
piu` aggiornato a standard C++, da 
www.cygnus.com
 puoi scaricare
egcs, la versione piu`recente di gcc (corrispondente a 2.9.qualcosa),
ma forse per i tuoi scopi gcc puo` bastare.
Piu` difficile e` suggerirti cosa usare per la GUI.  Con l'istallazione
Linux ci sara` l'X Window System, ma non e` banale da programmare
"nudo e crudo", se gia` non lo conosci molto bene (e anche se lo
conosci, non e` comunque poco lavoro, trattandosi di schemi di
"basso livello" -- un po' come l'API Windows nuda, per capirci).
Ma di libreriette (di classi C++, o altro) fatte per facilitare la
costruzione
di GUI per Linux, c'e` l'imbarazzo della scelta -- wxWin, per esempio,
a quanto ricordo non era malaccio.
Forse, in realta`, l'approccio piu` produttivo e` un altro; scarica,
se gia` non l'hai (probabilmente lo puoi gia` avere...), TCL, il Tools
Control Language, e il relativo toolkit grafico, TK.  TCL e` un
linguaggio di scripting e permette di costruire interfacce grafiche
in modo MOLTO semplice (direttamente con TK si lavora gia`
bene, ci sono anche strumentini per layout grafico in giro per la
rete).  Ti resta solo da aggiungere le tue funzionalita` C/C++
come estensioni del "windowing shell", "wish", che TCL/TK ti
forniscono -- cosa che puoi fare come DLL, come processo
separato, o, "alla rovescia", usando Tcl/Tk come libreria da
linkare col tuo programma C o C++.  Come piacevole effetto
collaterale, ottieni cosi` un programma molto portatile, perche`
TCL/Tk e` disponibile, gratuito, e perfettamente usabile, anche
per Windows95, Win/NT, Macintosh, ecc ecc.  Brent Welch,
"Practical Programming in Tcl and Tk" (seconda edizione),
copre piuttosto bene questi temi, e c'e` anche un gruppo molto
amichevole e attivo, comp.lang.tcl, per ottenere aiuto (in
inglese...:-).
Alex
Newsgroup: it.comp.lang.c++
Titolo: regole del c++

chi mi sa elencare le regole fondamentali per una buona scrittura di un file
c++?
io per esempio ho scritto un gioco con due sole classi: player e gioco. ora
perň a "gioco" finito mi viene da pensare di aver scritto un programma piů
vicino al c piuttosto che al c++.
grazie


Non e' per scoraggiarti, ma ti conviene procurarti qualche buon libro e
studiarlo. Secondo me ne caverai maggior soddisfazione che non a
ricevere risposte a spizzichi e bocconi sul newsgroup, soprattutto se le
tue domande sono generali come questa.
Ciao,
Nicola

uso il D&D.
cmq sarei grato a chiunque possa darmi una piccola lista, poi ad aumentare
le mie informazioni ci penserň io quando ne avrň bisogno.
"Nicola Musatti" <Nicola....@ObjectWay.it> ha scritto nel messaggio
news:3D7370E2...@ObjectWay.it...


 le mie informazioni ci penserò io quando ne avrò bisogno.
Dovrebbe esserci nelle F.A.Q. su 
www.programmazione.it
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Possibile che non esista?

Salve. Esiste un bel compilatore C++ tipo Borland per il LINUX?
Io non ne ho trovato nessuno!
Possibile che non ne esistano?
(P.S.: non mi dite di usare g++!! :-))
Ciao
--
[Giuseppe Grillo]

Ciao
tu cerchi un compilatore o un ambiente  di sviluppo x linux?
sotto linux esiste il pacchetto codewarrior ... ma si basa su g++ ...
kdevelop su g++ ... ke ne dici come alternativa? :)
gcc...
Antonio

 sotto linux esiste il pacchetto codewarrior ... ma si basa su g++ ...
No, io intendevo che non voglio usare g++ direttamente, ma se questo 
compilatore che mi hai consigliato si basa su g++ poco mi interessa, tanto 
ci interloquisce lui :-)
Ciao

ci interloquisce lui :-)
allora c'è una differenza.... tu cerchi un ambiente dove scrivere il
tuo codice .... basati su KDevelop .. é gratis, codewarrior costa
soldini
Antonio
Newsgroup: it.comp.lang.c++
Titolo: salvare una stringa in un file

Salve, vorrei sapere il modo di salvare una stringa in un file, o ancora 
meglio un intero record,
ho scritto questo semplice programma funzionante:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main ()
{
char frase[20];
FILE* f;
f=fopen("c:\prova.txt","w");
cin>>frase;
fputs(frase,f);
fclose(f);
system("pause");
return 0;
}
io vorrei salvare un tipo string che comando dovrei utilizzare al posto di 
fputs
e per salvare un intero record che contiene un tipo string che comando 
dovrei utilizzare
Grazie mille per l'eventuale risposta
 

 Salve, vorrei sapere il modo...
Prova questa possibile soluzione più stile C++...
#include <iostream>
#include <fstream>
#include <string>
#include <stdexcept>
using std::cout;
using std::endl;
using std::cin;
using std::string;
using std::ofstream;
using std::runtime_error;
int main(int argc, char **argv)
{
	if (argc != 2)
		throw runtime_error("Cattivo numero di argomenti.");
	ofstream output(argv[1]);
	if (!output)
		throw runtime_error("Impossibile creare il file.");
	cout << "Inserire una frase: " << endl;
	string record;
	while (getline(cin, record))
		output << record << endl;
	output.close();
	return 0;
}
Lo scritta in fretta ma dovrebbe funzionare...
Ciao.

 Lo scritta...
Mamma mia che schifo...
Ehm... l'ho scritta.
Scusate!.

Newsgroup: it.comp.lang.c++
Titolo: Covertire una stringa in intero.

Ho una stringa composto da x numeri.
Voglio convertire questa stringa in un numero intero decimale.
come devo fare ????
grazie!!

 come devo fare ????
<CODE>
std::string s="1245";
int num=atoi(s.c_str());
std::cout << num << std::endl;
</CODE>
oppure piu' in stile C++:
<CODE>
std::string s="1245";
std::stringstream ss;
int num=0;
ss << s;
ss >> num;
std::cout << num << std::endl;
</CODE>
In entrambi i casi num contiene 1245 alla fine del code snippet ed entrambi
stampano 1245 usando num.
Tommy

Newsgroup: it.comp.lang.c++
Titolo: Funzioni Ordinamento

Sono allo scuro di una cosa credo fondamentale...
Esiste una libreria del C che contine le funzioni tipiceh di ordinamento
tipo quicksort, heapsort, inserctionsort, etc?
Grazie per le risposte...
byez,
Aleander 

 Esiste una libreria del C
scusate intendevo del C++ 

 tipo quicksort, heapsort, inserctionsort, etc?
esiste std::sort e std::stable_sort
http://www.sgi.com/tech/stl/sort.html
http://www.sgi.com/tech/stl/stable_sort.html
valide per tutti i contenitori con accesso random (array, std::vector, ...)
per le liste (no accesso random) esiste una apposita std::list::sort
-- 
Gerolamo
Newsgroup: it.comp.lang.c++
Titolo: Prodotto Cartesiano

Salve a tutti, qualcuno sa come generare tramite un algoritmo 
il prodotto cartesiano di n insiemi o di n vettori di lunghezza
variabile?
Supponiamo il seguente scenario:
Vettore1=[4,5,7]
Vettore2=[0,3]
Vettore3=[2,8]
allora Vettore1*Vettore2*Vettore3 = {
[4,0,2],[4,0,8],[4,3,2],[4,3,8],[5,0,2],[5,0,8],[5,3,2],[5,3,8],[7,0,2],[7,0,8],[7,3,2],[7,3,8]
}
Qualunque sia il numero di vettori come potrebbe essere generato il 
prodotto cartesiano di questi?
La dimensione dell'insieme finale è uguale a :Dim(Vettore1)*Dim
(Vettore2)...Vettore(n) 
Grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in
news:402147ad4d2e0fb3838...@mygate.mailgate.org
: 

Visto che "a mano" sei capace di farlo, prova a scrivere su carta il 
pensiero logico che ti permette di calcolare il prodotto..vedrai che poi 
trasformarlo in codice non sara' cosi' difficile

Mario ha scritto:

se vuoi dimensioni davvero variabili potresti usare una funzione ricorsiva
vedi ad es. il libro di Dromey, Algoritmi Fondamentali, Jackson quando 
parla di premutazioni, combinazioni etc.
N.

Newsgroup: it.comp.lang.c++
Titolo: [Semi-OT] Aforisma...

On contrary of popular belief, Unix *IS* user friendly:
it just appears to be selective who it is friend with.
8)
Luc.

it just appears to be selective who it is friend with.
E' VERO !!! :)
Io sono uno dei pochi eletti ;))

> >it just appears to be selective who it is friend with.
Io devo avergli fatto qualcosa perche' non mi puo' proprio vedere :)
Alex
Newsgroup: it.comp.lang.c++
Titolo: Esiste un operatore di divisione per c++?

#include <iostream.h>
#include <conio.h>
void main()
{
float x=(2/3);
cout << x;
getch();
}
Quanto e' secondo voi l'output? E' 0!
Non dovrebbe essere % l'operatore mod del c++? Quale stupidissimo errore sto
facendo (apparte essermi lasciato il manuale di c++ a casa)?
Ultima domanda: come faccio a includere delle directory in fase di
compilazione con DJGPP? Ad esempio gcc questofile.c mi da errore che non
trova iostream.h, ma non lo trova neanche copiandolo nella .\
Grazie nper l'aiuto!

float x=(2/3);
2/3 e' intero.
2,0/3.0 e' float.

    float x=(float)2 / 3);
oppure
    float x = (float) 2 / (float) 3;
oppure
    float x = 2.0 / 3.0;
ecc.
Invece x non ha bisogno di un casting, essendo già di tipo float.
In pratica tu eseguivi una divisione tra interi che dava come risultato zero
(intero). Poi lo convertivi a float.
O meglio, assegnavi il valore intero zero (convertito automaticamente
secondo le specifiche del linguaggio al tipo del L-value) ad una variabile
di tipo float.
nota che
    float x = (float) (2/3);
ripresenta lo stesso problema.
--
Alessandro Monti

float x=(2/3);
poiche` gli argomenti della divisione sono ambedue interi,
il compilatore chiama int operator/(int a, int b)
e poi converte il risultato a float (perche` l'assegnamento e`
eseguito su un float.
In questi casi devi forzare la chiamata all'operatore di divisione
su float:
float x = 2.0/3.0;
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: GDB debugger

Salve dovrei fare un po di debug al mio programma scritto con devc++, ma
temo di non saper usare il GDB debugger..
qualcuno sa dirmi dove trovare una documentazione a riguardo? esiste
qualcosa in italiano?
grazie
Giulio

"Giulio" <k@o.s> wrote in message
news:asnbav$k5e$
1...@fata.cs.interbusiness.it

Qui sei OT. Prova a cercare con Google o a chiedere su
it.comp.os.linux.development
Ciao,
Nicola
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 esiste qualcosa in italiano?
ne vuoi uno in italiano? ovviamente hai gia' provato con
http://www.google.it/search?q=gdb+debugger+tutorial+italiano
vero?

 it.comp.os.linux.development
veramente, se usa devc++, credo usi windows (anche perche' vedo che usa 
outlook, anche se non vuol dire)

"Paolo Podda" <p.p...@tiscaliNOSPAM.it> wrote in message
news:1937754.s...@news.iol.it

Hai ragione. E mi sa che dal punto di vista dei newsgroup cygwin e MinGW
sono in una sorta di limbo...


 outlook, anche se non vuol dire)
mbhe scusate... ma come faccio a essere OT chiedendo aiuto su un debugger
per il c++?
in ogni caso grazie per l'aiuto.. in effetti avevo cercato le parole chiave
su google...

"Giulio" <k@o.s> wrote in message
news:asnbav$k5e$1...@fata.cs.interbusiness.it...

In qualche cartella di Dev-c++ ci deve essere qualche docs, neanche io ci ho
capito una mazza....
--
Napolux
http://ifsk.too.it
http://napolux.supereva.it

 per il c++?
Lo sei perche' questo newsgroup si occupa del C++ standard e non di
specifici strumenti per il suo utilizzo. Qui' c'e' il manifesto:
http://www.news.nic.it/news-it/manif/it.comp.lang.c++.txt


 
http://www.news.nic.it/news-it/manif/it.comp.lang.c++.txt
ah ho capito.. non sapevo scusate..
ero convinto che ci si occupasse di programmazione c++ in generale.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.426 / Virus Database: 239 - Release Date: 02/12/2002
Newsgroup: it.comp.lang.c++
Titolo: Definire oggetto funzione "less <class T>"

Devo fare un set di oggetti della mia classe Agent.
Come devo fare?
Ho fatto così:
typedef set <Agent, less <Agent>> agentset;
ma il compilatore mi dà errore dopo set (non decifra il minore - come
mai?).
Forse è perché non ho definito il funtore less<Agent>?
Ma come devo fare per definirlo?
Ciao e grazie
Gabriele

Ma come devo fare per definirlo?
L'implementazione di default del template less<> usa un
operator< definito fra due oggetti di tipo Agent; cioe`, se
puoi scrivere:
    Agent a, b;
    if(a < b)    // ecc ecc
e se questo ha la normale semantica (formalmente, uno
"strict weak ordering"), allora la less<> di default ti va bene.
Se per qualche ragione non vuoi definire questo operator<,
puoi allora specializzare il template per la tua classe; in
C++ standard, supponendo ad esempio che esista una
funzione membro "bool Agent::prima(const Agent&) const"
con la semantica richiesta (strict weak ordering):
template<>
class less<Agent> {
    bool operator()(const Agent&a, const Agent&b) {
        return a.prima(b);
    }
};
Questo equivale ad aver definito ad esempio:
    inline bool operator<(const Agent&a, const Agent&b) {
        return a.prima(b);
    }
Alex
Newsgroup: it.comp.lang.c++
Titolo: Selezione di una directory in C++ Builder

Vorrei realizzare un maschera per selezionare una directory nello stile
Windows 95/98 (tipo OpenDialog). Ho usato i componenti Win 3.1 (FileListBox,
DirectoryListBox, DriveListBox) ma vorrei appunto che il mio programma non
avesse lo stile vecchio di Window 3.1.
Per favore aiutatemi.

 wrote in message 804ddf$hbt$1...@nslave1.tin.it...


Newsgroup: it.comp.lang.c++
Titolo: file in c++

potreste mandarmmi un esempio di gestione di un archivio di persone su
file,mi interessa l'uso di fread e fwrite (possibilmente con relative
spiegazioni!!!^__^
grazie
xst...@tiscalinet.it

fread e fwrite sono funzioni della libreria C, presenti in C++ solo per
compatibilita'. Faresti meglio a chiedere su it.comp.lang.c o simili.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: informazioni su stl::map

Salve,
ho un dubbio sulla map: se io creo map<char *,char*> tmp, ho una mappa
in cui inserisco chiavi e valori come stringhe, che alloco prima di 
inserirle.
Se io chiamo tmp.clear() cosa succede? Nel senso che il man della 
map::clear() dice:
"All the elements in the container are dropped: their destructors are 
called, and then they are removed from the container, leaving it with a 
size of 0."
Se inserisco oggetti viene chiamato il distruttore, ma inserendo un tipo 
base (senza distruttore), la memoria allocata viene rilasciata?
Ad esempio:
char *t = new char[10];
char *v = new char[10];
tmp[t] = v;
tmp.clear();
l'area di memoria puntata da t e v, viene rilasciata?
Grazie

 tipo base (senza distruttore), la memoria allocata viene rilasciata?
No, devi rilasciarla tu. Se vuoi un modo semplice per fare la stessa
cosausa map<string, string>.
--
Marco
 
-- 
I'm trying a new usenet client for Mac, Nemo OS X.
You can download it at 
http://www.malcom-mac.com/nemo

 l'area di memoria puntata da t e v, viene rilasciata?
Ovviamente no. Come fa std::map a sapere che i puntatori puntano a degli
array? E come fa a sapere come li hai allocati? E come fa a sapere che tu
li vuoi deallocare?
Inoltre, come penseresti di usare quella 'map'? Prova a inserire dei valori
e a fare una ricerca per chiave. Qualcosa non funzionerą come ti aspetti.
In C++ per gestire le stringhe c'č std::string, che per altro credo che di
solito venga spiegato prima di std::map nei manuali.
Max

 solito venga spiegato prima di std::map nei manuali.
Solo in quelli scritti in questo secolo ;-)
Ciao,
Nicola

 inserirle.
Più correttamente: hai una mappa in cui inserisci chiavi e valori che
sono *puntatori a caratteri*, non *stringhe*. Le stringhe, in C++,
sono le std::string, le quali incapsulano il meccanismo di allocazione/
deallocazione della memoria. Il sistema non libera la memoria puntata
dai puntatori a caratteri, perché non è corretto che lo faccia. La
"stringa" C è una convenzione logica, che il sistema non conosce e di
cui si fa carico il programmatore allocando e deallocando
esplicitamente.
E' corretto che il sistema non prenda iniziative, perché le std::map
possono servire per mettere in relazione, mediante puntatori, aree di
memoria preesistenti e che la map non può e/o deve deallocare.

Andrea Laforgia ha scritto:

Grazie delle varie risposte: anche io pensavo si comportasse così, ma 
per avere la certezza al 1000% ho preferito chiedere per evitare 
problemi (anche perchè i memory leak non sono facili da trovare).
Grazie a tutti per le risposte
Newsgroup: it.comp.lang.c++
Titolo: Nascondere i membri dato delle classi

C'e' una cosa del meccanismo delle classi che veramente non sopporto, e
cioe' che i membri dato privati di una classe vadano inseriti nel file
header, cosa di cui a livello logico non ci sarebbe alcun bisogno. So
benissimo che serve per far sapere ai moduli utilizzatori la dimensione di
una classe, pero' mi capita spesso che questi membri siano di un tipo che
richiede qualche header per essere definiti, header che invece non e' di
alcuna utilita' per quanto riguarda l'interfaccia. Es.
#include <string>
class esempio
{
	std::string utilizzata_internamente;
public:
	void funz_che_non_richiede_string_per_essere_usata( char, int );
};
	Questa cosa mi da' un fastidio enorme... tuttavia che faccio, me ne
frego? In fondo l'aumento del tempo di compilazione dovrebbe essere
bassino, e usando i namespace non ci dovrebbe essere inquinamento del
namespace globale.
_dave_

_dave_ wrote:

Il modo tipicamente usato per nascondere i dettagli interni di una 
classe e' il cosiddetto PIMPL (Pointer to IMPLementation).
In pratica si tratta di dividere la classe originale in due classi:
- una contiene solo l'interfaccia esterna della classe originale e come 
unico membro _tendenzialmente_ privato un puntatore alla
- seconda classe, che rappresenta l'"implementazione" della classe 
originale, e puo' essere dichiarata nel file cpp (o in un .h incluso 
solo dal cpp della classe).
Questo "design pattern" e' conosciuto anche con altri nomi (sorry, ma al 
momento mi sfuggono), se cerchi su Google dovresti trovare un bel po' di 
informazioni a riguardo e qualche esempio in C++.
-- 
Roal Zanazzi

 In pratica si tratta di dividere la classe originale in due classi:
[...]
	Grazie, cerchero' informazioni al riguardo. In realta' avevo gia' pensato
ad una cosa del genere anch'io, pero' l'idea di accedere ai membri tramite
puntatori non e' che mi sorrida piu' di tanto...
_dave_

_dave_ wrote:

Credo che non si possa fare molto meglio... il linguaggio non offre 
soluzioni "native" e standard.
Per la cronaca, personalmente non ho mai usato il "PIMPL", forse solo 
perche' non ho mai avuto il problema di diffondere i miei header file al 
di fuori della ditta per cui lavoro.
Comunque concordo sul fatto che, cosi' com'e', la definizione delle 
classi espone alla vista di occhi indiscreti troppe informazioni che 
dovrebbero essere protette secondo il principio dell' "information hiding".
-- 
Roal Zanazzi
Newsgroup: it.comp.lang.c++
Titolo: aiuto!! lista di struct

aiutatemi vi prego sto impazzendo!
devo consegnare domani un programma funzionante che
funziona in tutto se non che mi dà problemi con uan lista di struct:
typedef unsigned short int Sint;
SeqList<StImp*> tab;   //lista7tabella con relativo iteratore
SeqListIterator<StImp*> scan(tab);
struct StImp
{
 String Nome; //identificativo impiegato
 ...
};
..
..
in una funzione:
{
 StImp* temp=new StImp;
for(..  ; ....    ; iter++)
{   temp->Nome=iter.Data()->GetNome();
    ....
    tab.Insert(temp);
}
}
in quella benedetta funzione ogni volta legge il dato da un'altra lista e
inserisce certe cose nella nuova lista di struct
ora il punto è che ogni volta legge i nuovi dati, ma nella tabella inserisce
(o sovrascrive non saprei) sempre l'ultimo elemento che viene letto
così quando stampo al tabella ho lo stesso numero di elementi ma
tutti con gli stessi dati..
è mica un problema di struct??

 }
Il problema è che crei un solo temp e usi sempre quello.
Alla fine del ciclo for la tua lista di puntatori contiene n elementi,
ciascun elemento è un puntatore, e tutti questi elementi puntano alla stessa
locazione di memoria. Nel ciclo modifichi i dati di questa locazione di
memoria ma la memoria è sempre la stessa e alla fine del ciclo questa
conterrà i dati relativi all'ultimo impiegato, di conseguenza tutti i
puntatori della lista punteranno alle informazioni relative all'ultimo
impiegato.
Se vuoi che la tua lista sia una lista di puntatori a struct devi istanziare
n struct, spostando l'istruzione new all'interno del ciclo. Ovviamente in
questo caso devi fare attenzione ad eventuali memory leak, deallocando tutti
gli oggetti contenuti nella tua lista prima che l'oggetto lista sia
distrutto (se l'oggetto lista è globale prima dell'ultima graffa).
 Tuttavia questa lista è una lista semplice e omogenea, su cui non hai
bisogno di usare il polimorfismo ne di fare altre operazioni particolari, di
conseguenza suggerirei di usare una lista di struct, anzichè una lista di
puntatori a struct, sostituendo la riga con il new con una semplice
dichiarazione di variabile temporanea di tipo StImp e dichiarando la lista
come lista di StImp anziché StImp*.

 elementi ma tutti con gli stessi dati..
Potresti postare *tutta* la parte relativa agli inserimenti?
-- 
Per l'e-mail rimuovere la frase in maiuscolo e gli underscore.

 come lista di StImp anziché StImp*.
avevo provato, ma come ben tu sai usavo la famosa seqlist della prof e mi
dava un sacco di errori se dichiaravo una semplice lista di struct:
probabilm
perchè l'avevo ottimizzata con dei metodi "adatti"per i puntatori.. vabbè
tanto ormai il danno è fatto.
me la sono cavata facendo la stampa run time (così evito la stampa finale..
..spero non se ne accorga..)
grazie infinite cmq!!! =)
Newsgroup: it.comp.lang.c++
Titolo: Di nuovo LIBRO SU C++

Ciao a tutti,
Avevo postato un msg per chiedere un buon LIBRO per imparare da zero il C++
in ITALIANO e che magari si poteva scaricare.....
Beh, ringrazio chi mi ha risposto ma ora ho anche le finanze per potermi
comparmi il migliore... :)))))) percui riformulo la domanda:
Chi conosce un buon LIBRO per imparare da zero il C++ in ITALIANO e che
costi quello che costi eheheheheh :)))
Bello, intuitivo e magari con esempi commentati.... ma forse chiedo
troppo???
P.S. Non ho svaligiato nessuna Banca e solo che ho preso la 13°.........!!!
Grazie a tutti
Fabio


wrote:


 wrote in message
news:92s4d7$hi4$1...@lacerta.tiscalinet.it...


 è molto completo e tratta il linguaggio in ambiente windows!
Per l'amor di Dio. Nooooooooooooooooooooooooo.
Spero che tu non abbia imparato da questo.......
Sent via Deja.com
http://www.deja.com/

Spero che tu non abbia imparato da questo.......
Anche io lo posseggo. Certo, non è un libro per principianti che
devono imparare... è un buon libro per gli approfondimenti da
affiancare all' MSDN per esempio.
Luc.

Newsgroup: it.comp.lang.c++
Titolo: Infinito & Co. in C++

Ho letto che lo standard IEEE delle codifiche floating-point definisce anche
dei codici particolari per indicare "infinito", "non definito", ecc. È
possibile utilizzare tali codici in C++? È possibile cioé assegnare ad una
variabile di tipo float, double o long double il valore "infinito" o "non
definito", ecc. oppure restituire tali valori da una funzione? E se poi si
eseguono operazioni o confronti con variabili contenenti tali valori, che
cosa succede?
Grazie in anticipo.
G. G.

 variabile di tipo float, double o long double il valore "infinito" o "non
#include <limits>
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Newsgroup: it.comp.lang.c++
Titolo: Classe per gestire le date

Esiste ?

Un'implementazione molto completa (forse troppo) la trovi tra le
librerie Boost: 
http://www.boost.org
Ciao, 
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Manuale C

scusate, sono un neofita che sta' iniziando a studiare il linguggio di
programmazione:
che testo mi consigliate?
Grazie!

...


 MC-Graw-Hill che ha formato legioni di Ingegneri informatici qui a Napoli.
Riguardo allo Schildt, no comment...
EMG

...





Newsgroup: it.comp.lang.c++
Titolo: Classi matrici e vettori in C++ (problema template)

salve,
volevo implementare delle classi per rappresentare matrici e vettori in 
C++.
pensavo di definire classi template sulla dimensione, es.:
template <int Righe, int Colonne>
class Matrice<Righe, Colonne>
...
il problema e' che, pero', tutte le funzioni che usano Matrice devono 
essere definite template, giusto?
ho provato a definire una funzione per il calcolo degli autovalori, del 
tipo:
void autoval( const Matrice & m, ...ecc. )
il problema e' che pero' il compilatore mi dice che devo renderla 
template (a casua di Matrice).
...a questo punto pero', per ogni matrice di dimensione differente, 
verra' generato un codice differente per la autoval?? credo che questo 
sia proprio inefficiente!
...c'e' qualcosa che mi sfugge a riguardo sui template, qualche tecnica 
migliore di quella proposta, o l'unica possibilita' e' quella di 
rinunciare al discorso template (e, ad esempio, inizializzare la 
dimensione di righe e colonne della matrice nel costruttore Matrice( int 
righe, int colonn )) ?
grazie per eventuali info!
ciao
dan

 righe, int colonn )) ?
L'ultima che hai detto. Non credo che questo problema possa essere
efficacemente risolto coi template, a meno che tu non sappia a priori
che userai poche dimensioni (tipo la 2x2 o la 3x3).
 bye
	av.

 void autoval( const Matrice<3,3> & m, ...ecc. )
io volevo il caso generico per matrici quadrate:
void autoval(const Matrice<N,N> &...)
qui ci vuole per forza il template (mi sa).
cmq, grazie per l'info: risolvero' con la classe che prende righe e 
colonne in input al costrutture
ciao
dan

 (learning by *doing*)
Tempo fa lo avevo fatto pure io.
Prova a darci un occhio, se vuoi:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=h4e99.88861%24n04.2529857%40twister2.libero.it
Se cerchi con google trovi anche i messaggi con i suggerimenti che mi
erano stati dati su questo NG quando avevo iniziato a farla.
Tienici aggiornati!
-- 
Gerolamo
www.overweb.it

Newsgroup: it.comp.lang.c++
Titolo: consulenza su manuali

cerco chi mi dia una mano a scegliere un buon manuale per borland c++,
io sono predisposto per un manuale della apogeo, voi che dite, chiedo
che mi siano indicati dei manuali anche su internet(se possibile in
italiano)



Se cerchi qualcosa di specifico per il Borland, non sono in grado di
aiutarti, se ti interessa invece *il linguaggio c++* allora ecco
alcuni indirizzi:
in inglese:
http://www.icce.rug.nl/docs/cplusplus/cplusplus.html
http://www.developer.com/reference/r_library.html
in italiano:
http://space.tin.it/computer/rgerola
http://www.geocities.com/SiliconValley/Foothills/6336/
http://games.eden.it/thecodersprimer/
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: snapshot023 62

Inizieremo a raccontarvi queste storie fra un paio di settimane,
quando vi invieremo il primo Character Journal della serie, quello
relativo al capo dei Remnants, James Buchanan.
50412223224164434503417440351243534380072142284417

Ciao,
Questo newsgroup si occupa del linguaggio di programmazione C++. Per
questo non e' il posto piu' adatto per porre domande come la tua. Ti
invito a cercare un gruppo il cui argomento sia piu' rispondente alle
tue esigenze. Avrai maggior probabilita' di risolvere il tuo problema
ed
eviterai perdite di tempo a chi consulta it.comp.lang.c++ .
Grazie,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: Moduli

Mi è stato detto che in generale (per ragioni di leggibilità) è opportuno
separare la dichiarazione di una classe dall'implementazione dei suoi
metodi. Supponiamo che io metta la dichiarazione di "Classe1" in "Classe1.h"
e i metodi in "Classe1.cpp", ed infine la funzione main in "Main.cpp"; a
questo punto cosa devo fare per richiamare la classe da main? Se faccio
#include "Classe1.cpp" e in quest'ultima metto un #include "Classe1.h" va
bene, ma non mi sembra tanto bello; mi sembrerebbe più corretto mettere
#include "Classe1.h" in main, ma così non viene letto il file "Classe1.cpp".
C'è fosre qualcosa che mi sfugge?

 C'è fosre qualcosa che mi sfugge?
si.
ti sfugge che Classe1.cpp è un modulo, main.cpp è un altro modulo.
tutti e due vengono compilati e diventano file oggetto (.obj o .o).
separare dichiarazione da implementazione serve a usare il codice definito
(implementato) in un modulo, in tutti i moduli che vuoi.
quindi in Classe1.h dichiari la classe.
in Classe1.cpp e in main.cpp includi Classe1.h (che tral'altro serve a far
sapere al compilatore che cavolo è Classe1 all'interno del modulo nel quale la
usi)
non so se sono stato abbastanza chiaro.
se ti sfugge qualcosaltro chiedi e ti sara' spiegato :)
--
ciao
xaero

> C'è fosre qualcosa che mi sfugge?
Se hai due .cpp ovviamente genererai due .o (o .obj).
E poi il linker mette insieme i due .o in un unico eseguibile!!!!
Mai fare un include di un cpp.
-- 
Posted from [194.214.173.28] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 anche in main.cpp (anzi, credo che questo errore te lo da il linker)
Ricapitolando:
file "Main.cpp":
#include "Classe1.cpp"
void main() {...}
file "Classe1.cpp"
#include "Classe1.h"
void Classe1::metodo1() {...}
file "Classe1.h"
class Classe1 {
private:
    void metodo1();
};
Magari non è formalmente corretto, ma ti assicuro che il codice viene
compilato senza problemi.
Grazie comunque per il chiarimento
Cecco

 #include "Classe1.cpp"
No. Questo deve essere
#include "Classe1.h"
Come ti e' gia' stato spiegato e' il linker che si occupa di mettere
insieme il risultato della compilazione dei tuoi moduli. Per sapere come
ottenere cio' devi consultare la documentazione del tuo sistema.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Aiutatemi per favore. Non riesco ad aprire file grandi.

Salve ragazzi.
Questo è il programmino:
#include <iostream>
#include <fstream>
#include <errno.h>
#include <string.h>
using namespace std;
int main (int argc, char** argv)
{
  fstream ip(argv[1]);
  if (!ip.is_open()) {
    cerr << "Error opening " << argv[1] << ": " << strerror(errno) <<
"." << endl;
    exit (-1);
  }
}
Lo compilo:
[xxxxxxxx@athlon temp]$ c++ -O6 open_large_files.cpp -o
open_large_files
Lo eseguo:
[xxxxxxxx@athlon temp]$ ./open_large_files pippo
Error opening pippo: File too large.
L'output di ls -l pippo:
[xxxxxxxx@athlon temp]$ ls -l pippo
-rw-rw-r--    1 xxxxxxxx xxxxxxxx 6798798597 Mar 10 20:42 pippo
[xxxxxxxx@athlon temp]$ c++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux --with-system-zlib
--enable-__cxa_atexit
Thread model: posix
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
Ragazzi, aiutatemi come posso fare ad aprire file di grandi
dimensioni?
Ciao a tutti.
Fabrizio Silvestri



Se non sbaglio devi patchare il kernel per aprire file > 4GB...cmq è un
problema del S.O. e non del linguaggio, quindi chiedi su
it.comp.os.linux.iniziare o it.comp.os.linux.sys

Newsgroup: it.comp.lang.c++
Titolo: boolean

In c++ non esiste il tipo boolean.
Come posso allora trattare espressioni che mi
restituscano vero o falso?
Ciao e grazie.

...


In C++, a seconda dei compilatori, esistono i tipi
BOOL (TRUE, FALSE)
bool (true, false)
quindi non dovresti avere problemi.
massimo




 quindi non dovresti avere problemi.
Diciamo pure che bool e' il tipo booleano standard del C++, BOOL a volte lo
trovi definito dalle interfacce al sistema operativo, come ad esempio sotto windows.
Newsgroup: it.comp.lang.c++
Titolo: Scusate, uso Outlook Express...

Scusate per la ripetizione dei messaggi,
Outlook diceva che non riusciva a postarli....
Lorenzo

 Outlook diceva che non riusciva a postarli....
A me è capitato provando a modificare un messaggio in uscita durante il
comando "sincronizza tutto", prima che arrivasse alla fase di invio. Sarebbe
un bel bug da segnalare a MS.
--
Alessandro Monti

un bel bug da segnalare a MS.
Outlook e` il bug!!!!!! :O
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

No, la Microsoft stessa è un bug...
Diego Pettenò

 X-Newsreader: Microsoft Outlook
Express 5.00.2314.1300
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
La vogliamo smettere di essere ipocriti? E di riempire i discorsi e i
newsgroup sempre con le solite palle contro la Microsoft?

Tu non credi forse al fatto che i programmi di casa M$ sono pieni di Bug più
del mio programma in beta test?
--
Diego "1985" Pettenò
per gli spammer la mail è
diego...@hotmail.com
per i messaggi seri è
diego....@tiscalinet.it

Ahh, forse ho capito, ti riferivi al fatto che uso OE?
Beh, vedere i bug nei prodotti Microsoft mi risolleva il morale quando
guardo nei miei programmi ;-)
--
Diego "1985" Pettenň
per gli spammer la mail č
diego...@hotmail.com
per i messaggi seri č
diego....@tiscalinet.it

Newsgroup: it.comp.lang.c++
Titolo: applicazioni 3D in OpenGl e Builer

Proprio per questo problema questa mattina stavo cercando su internet
qualche risposta: Sto ancora scaricando (sigh!) OpenGL Optimizer 1.2 dal
sito della Silicon 
www.sgi.com
.
Della serie "tentar non nuoce"!
Ciao:)
Newsgroup: it.comp.lang.c++
Titolo: visualc++ vs viaual basic

salve a tutti....
vorrei un informazione ed al tempo stesso un consiglio
programmo da tanti anni in clipper e penso sia arrivata l'ora di mandarlo in
pensione fosse per il solo fatto che gira sotto dos.
pensavo di investire energie tempo e denaro per passare a programmare in
visual basic oppure in visual c++.
tenuto conto che la maggior parte dei programmi che intendo sviluppare
devono gestire archivi e tenuto anche conto che non vorrei sbagliare scelta
per poi tra non so quanto dover ricominciare daccapo..... vorrei sapere cosa
ne pensate.... cioè quale dei due linguaggi è più adatto alla gestione dati
o almeno il visual c++ che possibilità offre
grazie a tutti
giampi

 o almeno il visual c++ che possibilità offre
Al giorno d'oggi la gestione dati (su Win32) si appoggia di
norma su meccanismi come ADO, accessibili da tutti i linguaggi
e anche direttamente da controlli 'data-enabled'.  Visual basic
e` forse meglio integrato con essi rispetto a visual c++ (o
delphi, python, ecc ecc) ma la differenza non e` poi molta.
Se mai conta il fatto che C++ e` un linguaggio estremamente
complesso e difficile, quindi se non trai beneficio da questa
complessita` (e per fare gestione d'archivi su Win32 non lo
trai) conviene imparare invece un linguaggio piu` facile (cioe`
qualsiasi altro:-).  foxpro, basic, delphi, python, vedi tu.
Python e` il mio preferito fra questi, anche perche` non e`
proprietario ed e` gratuito, ma foxpro e` il + simile a quel
che gia` conosci, basic il + diffuso, delphi produce spesso
il codice piu` veloce [non come c++, ma poco ci manca], cioe`
ciascuno ha i suoi vantaggi.
Alex

 visual basic oppure in visual c++.
Conserva il tuo know-how e affianca al Clipper la libreria FiveWin
(
www.fivetech.com
).
EMG




Newsgroup: it.comp.lang.c++
Titolo: time.h

Ciao,
ho fatto un semplice programma "Trova la parola segreta" e ho aggiunto
la libreria time.h con la relativa linea di codice srand(time(NULL)),
poi ho provato a togliere la suddetta libreria e il programma viene
eseguito normalmente senza nessun cambiamento.
Ora mi chiedo: a che serve questa libreria?e perchè non cambia nulla
togliendola?
Scusate se la domanda vi può sembrare stupida...ma sono agli inizi.
Grazie
suami

 togliendola?
Tutto ok....ho capito da sola.Serve per rinizializzare la generazione
random  :-p
suami
Newsgroup: it.comp.lang.c++
Titolo: libreria grafica & programma simpatico

Salve a tutti;
Qualche domanda:
1) Sto cercando una libreria grafica per il Turbo c++ 3.0 (DOS) veloce e
completa, che lavori almeno in 640X480; ne ho una di Abe Racadabra che è
veloce, ma non ha nemmeno il Clrscr() :(
2) C'e on-line una guida al mio IDE DOS (Borlabd Turbo c++ 3.0), che spieghi
bene come usare link, build, i .prj, etc.?
3) Mi potreste consigliare dove scaricare un IDE più aggiornato e ben fatto?
(sia DOS che WIN)
4) Ho i sorgenti di un bel programma di Henk Thomassen, FFT11, che funziona
da oscilloscopio/analizzatore di spettro usando la scheda audio, ma che non
riesco a compilare; questo è il messaggio che mi viene dato:
"Transfer to program: Turbo Assembler /MX /ZI /O FFT_ASM.ASM,FFT_ASM.OBJ:
Transfer to program: Turbo Assembler /MX /ZI /O LINE.ASM,LINE.OBJ:
Compiling FFT.CPP:
Compiling SCREEN2P.CPP:
Compiling GRAPHICS.CPP:
Compiling MOUSE.CPP:
Compiling SB16.CPP:
Linking FFT.EXE:
Linker Error: Undefined symbol _small_font_far in module GRAPHICS.CPP
Linker Error: Undefined symbol _EGAVGA_driver in module GRAPHICS.CPP"
Se qualcuno mi volesse aiutare sarei lieto di mandargli i sorgenti.
Grazie, spero mi rispondiate
Raf.

Potresti provare le Qt.

 Raf.
Ciao!
--
Paolo Giarrusso
Per rispondere togliere solo "TOGLIMI" dall'indirizzo, non _spam.

Newsgroup: it.comp.lang.c++
Titolo: Un servizio può lanciare un'applicazione?

Premesso che sono alquanto niubbo in c++, sto "giocando" con la creazione di
un servizio per win32 con il borland c++.
Vorrei che questo servizio in certe situazioni potesse lanciare un'altra
applicazione.
Ho provato ad usare system("mio programma.exe") ma l'applicazione lanciata,
anche se in esecuzione, non è visibile graficamente parlando.
Qulacuno mi può dare qualche indizio su che strada intraprendere in modo da
risolvere questo problem?
Grazie in anticipo

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


Ti ringrazio delle indicazioni, proverò a chiedere nei gruppi da te 
suggeriti.
Ancora grazie e alla prossima.
Newsgroup: it.comp.lang.c++
Titolo: Sorgenti per Simplesso intero

saluti a tutti,
qualcuno mi sa dire dove posso trovare dei sorgenti free o della
documentazione su algoritmi per risolvere
i problemi di programmazione lineare intera? (ad esempio simplesso con
gomorry, simplesso con branch&bound ....)
grazie
Roberto

...

Cerca a partire dai Math Archives, specificamente:
 
http://archives.math.utk.edu/topics/linearProg.html
Un'altra ottima pagina di link sicuramente rilevanti:
 
http://forum.swarthmore.edu/~steve/steve/programming.desc.html
e le FAQ aggiornate su linear programming le trovi a:
 
http://www-unix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html
Da quest'ultima, in particolare, troverai vari link diretti a sorgenti
gratuiti di vario tipo che possono fare al caso tuo.
Alex

lineare intera? (ad esempio simplesso con gomorry, simplesso con branch&bound 
Per il software, prova
http://plato.la.asu.edu/guide.html
http://www.mcs.anl.gov/home/otc/Guide/SoftwareGuide/
Qui ci sono anche un po' di rimandi a documentazione, ma la maggior
parte delle cose le trovi fondamentalmente sui libri di testo.
http://www-c.mcs.anl.gov/home/otc/Guide/faq/linear-programming-faq.html
                                    Saluti
                                    Antonio
P.S. "Gomory" si scrive con una "r" sola: con due, ricorda un po' troppo
     cose sconce ... :-)
Antonio Frangioni                      Research Associate  |  I have gained ...
Dip. di Informatica - Corso Italia 40 - 56125 Pisa, Italy  |  the colour of the
Ph +039-50-887216                
www.di.unipi.it/~frangio
  |  corn.   [Exupery]
Newsgroup: it.comp.lang.c++
Titolo: Due domande sugli array

Avrei due domande da porre riguardanti gli array.
1)Dovrei passare ad una funzione un array bidimensionale. Con quelli
monodimensionali di solito utilizzavo:
void somma(int *array_mono);  //      prototipo della funzione
.....
int main()
{ int array[10];       // dichiaro un array
   ......
  somma(array);      // passo l'array modimensionale.
........
}
Questa tecnica con gli array bidimensionali non funziona. Nel mio programma
void leggi_matrice_righe(int *array);   // prototipo della funzione
.......
int main()
{  int matrix[3][4];  // dichiaro un array bidimensionale
   ..........
   leggi_matrice_righe(matrix):  // Errore: [C++Error] Inf1_21.cpp(35):
Cannot convert 'int ( *)[4]' to 'int *'.
...................
}
Sbaglio forse nella dichiarazione del protptipo ?
2) Come posso dichiarare un array di cui non conosco a priopri la dimensione
? Se dichiaro così: ' int array[] ' il programma non viene compilato
   Per esempio avrei il bisogno di creare un array avente la dimensione
impostata dall'utente in fase d'uso del programma.
Es: <domanda> Quanti numeri vuoi inserire ? <risposta> 500
  Il programma crea l'array  con dimensione 500.
Grazie per il vostro aiuto.

Simone P. wrote:

non vorrei dire una cazzata (azz, non e' moderato, vero ;-) ) ma un array 
bidimensionale lo dovresti dichiarare come int** (puntatore ad un array di 
puntatori a interi), non mi ricordo se pero' devi definire in partenza una 
delle dimensioni (in c mi pare di si...)
Comunque il bello del C++ e' che e' a oggetti, creati una classe apposta ;-)

 Grazie per il vostro aiuto.
dichiarati un int* array;
poi quando lo devi inizializzare fai
array = new int[500];
facile no :-)

Ciao gli array bidimensionali vanno dichiarati come <nome_tipo>**, ovvero 
puntatore a puntatore;
Ex:
typedef int** matrice;
void AllocaMatrice(matrice& m, int dim) {
m=new int*[dim];  //allochi l'array che contiene come 
                  //elementi dei puntatori ad interi
for(int i=0; i<dim; i++)
 m[i]=new int[dim];  //per matrice quadrata, altrimenti 
                     //hai bisogno di due parametri per la funzione
}
una volta allocata la memoria, la dovresti anche deallocare :-)))
void DeallocaMatrice(matrice& m, int dim) {
for(int i=0; i<dim; i++)
 delete [] m[i]; //deallochiamo tutti i sottovettori
delete m[];
}
Spero ti sia utile...
Ciao S.

Newsgroup: it.comp.lang.c++
Titolo: memset o Fillmemory?

qualcuno sa dirmi qual è la differenza in prestazioni
delle suddette funzioni?
esistono delle funzioni analoghe orientate alle WORD o alle DWORD invece
che al BYTE ?
grazie

...

il codice assembly prodotto dal VC++6 SP1 con le opzioni /Og /O2 /GA /FAsc
e' esattamente lo stesso.
; 10   :  memset(ArrayDW1,0xA5,sizeof(ArrayDW1));
  00006 b9 00 01 00 00  mov  ecx, 256  ; 00000100H
  0000b b8 a5 a5 a5 a5  mov  eax, -1515870811 ; a5a5a5a5H
  00010 57   push  edi
  00011 8d 7c 24 04  lea  edi, DWORD PTR _ArrayDW1$[esp+2052]
  00015 f3 ab   rep stosd
; 12   :  FillMemory(ArrayDW2,sizeof(ArrayDW2),0x5A);
  00017 b9 00 01 00 00  mov  ecx, 256  ; 00000100H
  0001c b8 5a 5a 5a 5a  mov  eax, 1515870810  ; 5a5a5a5aH
  00021 8d bc 24 04 04
 00 00   lea  edi, DWORD PTR _ArrayDW2$[esp+2052]
  00028 f3 ab   rep stosd
In caso di non allineamento al DWORD, allora il compilatore emette
delle istruzioni di completamento del fill come "stosw" e "stosb".
Nativamente vengono usate delle DWORD.

 che al BYTE ?
Non so, forse memcpy() potrebbe esserti utile.
EMG