mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Sondaggio: I migliori libri sulla rete!

Salve a tutti,
sono un programmatore c++ e vorrei fare un po' il punto sui migliori libri
che un professionista debba avere in biblioteca!
Ecco la mia lista:
- Eckel, pensare in c++
- Stroustrup  c++ terza edizione
- Trilogia di Meyers
- Algoritmi in c++ di Sedjevic
[OT]
- Algoritmi in c di Sedjevic
- il mitico kerninghan & Ritchie ansi C
Che ne pensate?
Dove è possibile acquistarli al prezzo più basso on-line?
Quali sono i migliori siti che trattano questi testi e altri specialistici
di informatica (in italiano e in ingleso solo per eccezioni!)?
Spero che questp sondaggio utile a chiunqua voglia superare i propri limiti!
Buona programmazione....

 - Algoritmi in c++ di Sedjevic
Io ci metterei l'ottimo "Exceptional C++" di Herb Sutter, pubblicato da
Addison-Wesley e disponibile in italiano. Dopo averlo letto, mi sono accorto
di due cose:
1) prima non sapevo programmare un *buon* C++ nonostante pensassi il
contrario;
2) il C++ č molto, molto piů bello di quanto non credessi prima.
A proposito, qualcuno ha letto "More Exceptional C++" ? Com'č? Io volevo
aspettare la versione italiana ma sembra che non arrivi, quindi mi sa che lo
comprerň in inglese.
Ciao,
Marco

Newsgroup: it.comp.lang.c++
Titolo: Download Ia.n.i.!!! It's free!

Download Ia.n.i. RemoteControlSystem 1.2 beta. It's free!!!
New site: 
http://jump.to/IaniProject



Newsgroup: it.comp.lang.c++
Titolo: Compilatore C++ per Macintosh?

Ne conoscete qualcuno , magari free o shareware o demo?

 Ne conoscete qualcuno , magari free o shareware o demo?
non c'e' il gcc?

Newsgroup: it.comp.lang.c++
Titolo: Dividere files .avi

Ciao, ho scritto un semplice codice che letto un file in modalita' binaria
ne crea altri due dello stesso tipo ma con dimensioni ridotte. Il mio
intento č di riuscire a spezzare un file .avi in due parti piů piccole.
Il programma funziona ma Win MediaPlayer non riesce ad aprire i files .avi
generati, dicendo che il formato non č supportato.
Cosa ho sbagliato? Come devo trattare questi files per risolvere il
problema?
Grazie a tutti.

Un file .avi non puo' essere diviso in maniera brutale in quanto per la sua
esecuzione il player deve leggere l'header che si trova all'inizio del file
e che contiene informazioni sullo stesso.
Il modo di dividere un file .avi e', dunque, quello creare dal file avi
originale due file .avi ognuno col suo header contenente informazioni sul
segmento ad esso associato.
Io non conosco il formato degli header dei formati grafici ma sicuramente se
cerchi su google ( o altro motore di ricerca ) trovi qualcosa.
Buon lavoro,
Nids

 cerchi su google ( o altro motore di ricerca ) trovi qualcosa.
Prova su 
www.wotsit.org
Dome
Newsgroup: it.comp.lang.c++
Titolo: eseguire metodo della classe x dalla classe y

Ciao a tutti,
non sono molto pratico di c++ quindi potrei fare una domanda banale..
ho un metodo della classe x ereditato dalla classe z e vorrei eseguirlo
dalla classe y
in pratica ho una classe derivata MyView che eredita il metodo SetPage dalla
classe View e essendo nella classe MainFrame vorrei richiamare il metodo
SetPage... come posso fare???

Saro wrote:

non è molto comprensibile partire con un esempio e poi finire con un altro.
Cmq non ho ben capito quale setPage vuoi chiamare?
Visto che stai parlando di classi, setPage è statico o no? 
Perchè se lo hai ereditato, chiamandolo su un oggetto 
        MyView mv;
        mv.setPage ->richiami il metodo definito in MyView.
non capisco bene il problema.
ciao
-- 
__________________________________
"Ama e fai c'ho che vuoi".... 
__________________________________

 ciao
Ciao viset,
in effetti rileggendolo è molto confusionario....
comunque penso di aver risolto .. non riuscivo a agganciare il puntatore ad
una classe.. per eseguire un metodo di quest'ultima
ho risolto dichiarando la classe theApp come extern e inserendo, in questa
classe, un puntatore alla classe "x" che mi dava problemi, naturalmente il
puntatore viene valorizzato nell'evento OnCreate della classe "x"
a questo punto in qualsiasi classe voglia richiamare il metodo della classe
"x" basta che vada a pescare il suo puntatore dalla classe theApp , che
essendo extern, viene vista da tutti....
è una soluzione ortodossa???
Newsgroup: it.comp.lang.c++
Titolo: Stream

Viste le risposte ottenute dal mio messaggio sui socket bufferizzati, ho
pensato di esporre chiaramente cosa vorrei realizzare, in modo che magari
qualcuno, più ferrato di me nell'utilizzo degli stream, possa darmi una mano
a trovare la soluzione migliore.
La classe che voglio realizzare deve utilizzare in qualche modo
(ereditarietà o contenimento) la classe MFC CAsyncSocket, e presentare
un'interfaccia di questo tipo:
- per la scrittura, immissione di testo tramite l'operatore "<<" tipico
degli ostream; i dati immessi devono essere immagazzinati in un buffer
interno, e poi chiamando un metodo apposito (sendall() o come preferite
chiamarlo) devono essere inviati al socket relativo.
- per la lettura, deve esistere un solo metodo (readinput()), che ritorni il
testo presente sul socket fino al primo newline (\n), oppure, se non sono
ancora arrivati newline, immagazzini quanto letto in un buffer interno a cui
accodare quello che leggerà successivamente, sempre fino al primo newline
incontrato.
- una funzione di chiusura del socket, che però potrebbe anche essere
incorporata nel distruttore.
- possibilmente, dall'esterno della classe dovrebbero essere accessibili
solo l'operatore "<<" e le funzioni sendall() e readinput(), oltre ad
eventuali altri metodi da definire; tutto il resto ereditato da classi base
non dovrebbe essere visibile, in particolare i dettagli dello streambuf
interno e del socket.
L'approccio che volevo utilizzare era un'eredità multipla come questa:
class BufferedSocket: private CAsyncSocket, public ostrstream
{
    // ...
    void sendall(void);    // oppure int sendall() per gestire gli errori
    char *readinput(void);    // oppure string &readinput(), o quello che si
vuole
};
void BufferedSocket::sendall(void)
{
    // invia il contenuto del buffer di ostrstream al socket
    // la funzione da usare è Send() di CAsyncSocket
    // Send(void *data,size_t nbytes);
}
In questo modo la classe si comporta esattamente come desiderato, in quanto
gli operatori di inserimento vengono ereditati da ostrstream.
Qualcuno mi ha però fatto notare che questa non è una soluzione ottimale, e
che sarebbe più logico e utile utilizzare uno streambuf personalizzato.
Mi piacerebbe vedere un esempio pratico di come fare questo nel mio caso,
oppure eventuali altre proposte di soluzioni.
Ovviamente in quest'ultimo caso non vi sto chiedendo di scrivermi il codice,
mi bastano anche idee e suggerimenti ;-)
Thanks
Massimo

 [CUT]
Se vuoi qualcosa di già bello e pronto è disponibile la libreria
Socket++ (è GNU).
La puoi trovare facilmente si Internet.
E' sviluppata abbastanza bene.
A volte ci sono delle ingenuità (alla luce dello standard) e tende a
inserire tutta la gestione dei socket nello streambuf
(io avrei implementato una classe a parte).
Dovrebbe essere facilmente portabile a Windows.
Quello che ti serve è presente in soli due files:
sockstream.h e sockstream.c.
Manlio Perillo
Newsgroup: it.comp.lang.c++
Titolo: Consiglio: da java a C++

Ciao,
sono un programmatore Java (con esperienza pluriennale). Tuttavia sento la
necessita' di saper usare decentemente anche il C++. Ora il passaggio da
Java a C++, salvo qualche dettaglio e salvo la gestione della memoria nello
heap, non mi sembra traumatico il passaggio. Traumatico invece e' l'uso
delle librerie...in Java hai un set di API per usare i componenti che vuoi,
con il C++ devi appoggiarti a librerie esterne....
Tolta questa premessa, cosa mi conviene fare per
i) imparare il C++ (in quello che mi manca)
ii) e al tempo stesso programmare qualcosa di decente ...
in altre parole MFC o quelle di Borland o esiste qualcosa d'altro?
Grazie....
Ciao

in altre parole MFC o quelle di Borland o esiste qualcosa d'altro?
Per capire/usare bene le VCL di C++Builder dovresti imparare anche
un terzo linguaggio, Object Pascal; le OWL del vecchio Borland C++
non sono, credo, supportate dal compilatore attuale, C++Builder,
della stessa azienda (che non si chiama piu` cosi`, ma Inprise).
MFC hanno vari difetti ampiamente illustrati in recenti thread su
questo gruppo con MFC nei subject, che puoi scaricare usando
www.dejanews.com
, funzionalita` Power Search.  Sullo stesso
insieme di thread sono stati discussi vari altri framework e i
relativi difetti.  Forse Fresco98, fra tutti quelli discussi, puo` essere
il piu` vicino alle tue esperienze (astratto, progetto "pulito").
Come compilatore ti suggerirei egcs 1.1 (completato dalla
STLPort come libreria [quasi] standard); sono gratis.
Alex

 STLPort come libreria [quasi] standard); sono gratis.
Scusa, un dubbio: ma con il DJGPP si possono utilizzare i framework tipo
Fresco? Oppure ci vuole espressamente un compilatore per Windows?
EMG

 Fresco? Oppure ci vuole espressamente un compilatore per Windows?
Fresco gira sotto Linux  ,le varie piattaforme Un*x e Win32.
Se ti serve un GUI C++ Framework per DOS, prova SWORD:
 
http://www2.hurrah.com/sword/
-- 
Roberto Gerola
Email: 
roge...@tin.it
WWW: 
http://space.tin.it/computer/rgerola

Fresco? Oppure ci vuole espressamente un compilatore per Windows?
Credo che DJGPP supporti solo DOS, e che Fresco non
supporti DOS, comunque puoi controllare sull'homepage di
Fresco98 (non l'ho sottomano al momento, ma l'ho postata
di recente, la trovi con 
www.dejanews.com
 Power Search).
Alex

 di recente, la trovi con 
www.dejanews.com
 Power Search).
I links utili che compaiono sul NG li raccolgo sulla mia home page.
Qui ci sono i links per Fresco:
http://space.tin.it/computer/rgerola/gui.htm


Newsgroup: it.comp.lang.c++
Titolo: scusate...qualcuno che ha il visual studio..

mi può inviare il file EM.dll ?

> mi può inviare il file EM.dll ?
Quale versione? Io ho la 5.0, non tutto installato, ed è di 69kb.
Mi viene però un dubbio: se hai una versione "regolare", non puoi cercare il
file sui CD?
Scrivimi in e-mail, se il file che ho io fa al caso tuo.
--
Alessandro Monti
Newsgroup: it.comp.lang.c++
Titolo: DAO & Multithread

Sto sviluppando una applicazione con VisualC++ 5.0 che utilizza le classi
CDao per l'accesso
ad un database. Da quando ho introdotto un thread in background che si
occupa anch'esso
di accedere al database, mi ritrovo con un errore di "accesso illegale"
all'uscita dell'applicazione.
In seguito ad alcune indagini ho notato che il problema sorge quando il
motore del database
viene fermato dal framework.
Domanda: č necessario osservare qualche regola particolare per utilizzare
dei databases (Access)
in un applicativo MFC con multithread ?
Grazie.
Ciao
Egidio

con un errore di "accesso illegale" all'uscita dell'applicazione.
Purtroppo DAO non supporta il multithreading.
Dovresti lasciar gestire tutto ad un unico thread eventualmente
implementando una coda di messaggi da altri thread.
Ciao
Gian Michele Bertoni
homepage: 
http://space.tin.it/computer/gbertoni

...

Grazie della risposta. Devo dire che mi pareva di aver letto il contrario.
Ciao
Egidio

Grazie della risposta. Devo dire che mi pareva di aver letto il contrario.
Solo per completezza cito alcuni articoli dell'MSDN che trattano questo
punto:
---
Visual C++ Documentation
Titolo:
DAO: Database Application Design Options
Estratto:
"DAO itself is not multithreaded, so you can’t use the MFC DAO classes in
multiple threads. Confine your DAO code to a single thread of execution."
---
---
Knowledge base: Q156138
Titolo:
Limitations of DAO, DAO SDK in NT Service or with Threads
Estratto:
"Neither the MFC Data Access Objects (DAO) classes nor the DAO SDK are
thread-safe because the underlying Jet engine is not thread-safe and cannot
be used in a Windows NT Service."
---
---
Knowledge base: Q151407
Titolo:
PRB: DAO 3.0 Must Be Used in Primary Thread
Estratto:
"DAO 3.0 is not marked as apartment-model or free-threaded in the registry.
No multithreading testing has been done on DAO 3.0. Any documentation should
say that DAO 3.0 is not thread-safe and should only be used in the primary
thread in a process. "
---


Newsgroup: it.comp.lang.c++
Titolo: USB: AIUTO!!!

Devo pilotare un dispositivo USB. Qualcuno sa indicarmi come fare? Da
dove devo partire? Devo scrivere un driver? Se sě, come si fa? Grazie
in anticipo.
Luca

in anticipo.
Molto probabilmente dovrai scrivere un driver e per far cio' ti serve SDK e
DDK (di 95 o 98 o NT, anche se 98 e NT condividono molto della struttura WDM
non sono totalmente identici, soprattutto per il P&P non supportato da NT4)
e provare a vedere se fra gli esempi c'e' qualcosa che fa al caso tuo.
Ciao, Marco.

e provare a vedere se fra gli esempi c'e' qualcosa che fa al caso tuo.
Dimenticavo, sto assumendo per default che tu ti stia rivolgendo
all'ambiente Win :-)
Ciao, Marco.
Newsgroup: it.comp.lang.c++
Titolo: AIUTO TESI C++

Salve a tutti,
sto scrivendo una tesi sull'elaborazione di un immagine tramite filtri Laguerre - Gauss, i quali sono in fin dei conti dei comuni filtri bidimensionali. Ho già verificato e implementato la decomposizione nell'ambiente Matlab, ora dovrei transcodificare gli script matlab creando una classe C++ con opportuni metodi. 
Con notevole impiego di tempo (in quanto ero e sono un novello) ho implementato i metodi di apertura dell'immagine sia essa rgb, monocromatica e cosi via...utilizzando un puntatore IplImage* e ho implementato anche altri metodi. 
Ho poco tempo e devo realizzare anche altri metodi...mi aiutate?  
Vi chiedo aiuto per realizzare le seguenti procedure:
1. Costruire i filtri 2-D  di L.G. (bidimensionali) che hanno una particolare espressione, in quanto sono il risultato del prodotto di un filtro gaussiano e di un altro filtro con una opportuna espressione analitica nota. In Matlab definivo la griglia dei punti (meshgrid) sui quali mi interessava conoscere il valore del filtro complessivo e utilizzavo semplicemente l'espressione analitica per conoscere f(x,y) dove f è il valore del filtro. Ora come dovrei fare??? I filtri variano in funzione di 3 parametri: N,K,Scale. La definizione del metodo che carica i filtri dovrebbe essere del tipo:
bool LG_KEYS_DETECTOR::loadFilterBank(int _Nmin, int _Nmax, int _Kmin, int _Kmax, int _Smin, int _nScales){ return true;}
MA come implementarlo??? Dopo averli calcolati (sono delle matrici bidimensionali di dimensioni differenti, una per ogni terna fissata di valori n,k,scala) e' possibile in C++ salvarli e leggerli ? Come???
2. Realizzare il filtraggio con tali filtri: in Matlab per evitare la convoluzione (complessa computazionalmente) utilizzavo le proprietà della trasformata di Fourier (fft2 e ifft2). Ora credo non sia necessario...come realizzo quindi in C++ tale filtraggio di tipo convoluzione bidimensionale tra una immagine complessa e un filtro complesso avente dimensione piccola rispetto l'immagine?
3. Come seleziono in una matrice bidimensionale i punti che siano massimi locali in un intorno 5x5 ? Mi interessano esclusivamente i massimi locali e non gli estremi in generale (quindi non i minimi!)
4. Esiste in C++ o in OpenCV un'opportuno comando che consente il calcolo dei massimi locali 1D di una funzione monodimensionale discreta (o meglio discretizzata perchè campionata con passo unitario), del tipo f(x) con x che appartiene a [4,64] e f >= 0. Le realizzazioni della funzione possono presentare (in quanto le ho visualizzate e le conosco) nessuno, uno o due massimi locali. Come li cerco, li seleziono e ne salvo le cordinate in una struct?
Vi ringrazio anticipatamente e spero sinceramente in un vostro aiuto!!!
-- 
Questo articolo e` stato inviato dal sito web 
http://www.nonsolonews.it

 struct?
No, obiettivamente, ma un laureando in ingegneria quanto ci mette a trovare
uno o n minimi locali?
Newsgroup: it.comp.lang.c++
Titolo: cast

Ciao a tutti,
c'e` qualcuno che mi sa spiegare a cosa servono e come si usano gli
static_cast<...>(...)
reinterpret_cast<...>(...)
???
ve ne sarei molto grato.
Ciao,
Andrea
--
Posted from 
smtp1.cern.ch
 [137.138.128.38]
via Mailgate.ORG Server - 
http://www.mailgate.org

reinterpret_cast<...>(...)
Nelle FAQ del gruppo puoi trovare una esauriente risposta di Alex Martelli :
http://www.penguinpowered.com/~The_Cpp_Compass/faq/5_1.html
-- 
Roberto Gerola
Email: 
robert...@penguinpowered.com
WWW: 
http://www.penguinpowered.com/~The_Cpp_Compass

Newsgroup: it.comp.lang.c++
Titolo: eseguire funzione di un VB da VC++

ciao a tutti,
Sono nuovo nella programmazione in VC e non so bene da che parte cominciare.
Sto cercando di realizzare una DLL che dovrebbe richiamare una funzione di
un eseguibile VB già in esecuzione.
A seguito di innumerevoli ricerche non sono ancora riuscito a stabilire
quale sia il metodo corretto e più adeguato.
Il mio progetto è cosi composto:
In VB creo una applicazione del seguente tipo:
sub form_load()
  label1.caption="Before the call"
end sub
Function startProcessing()
 label1.caption="After the call"
end function
In VC nell'entry point invece ho quanto segue:
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID
/*lpReserved*/)
{
    if (dwReason == DLL_PROCESS_ATTACH)
    {
      HWND hwnd = ::FindWindow(NULL, "Form1");
      if ( hwnd ) {
        ::ShowWindow( hwnd, SW_MAXIMIZE );
       ..............
}
Come faccio quindi a richiamare la funzione "startProcessing" dalla mia DLL?
Credo di aver capito di dover utilizzare il comando SendNotifyMessage, ma
non ho la minima idea di come accedere direttamente alla funzione
specificata.
Grazie in anticipo
-- 
adyda for peace

 quale sia il metodo corretto e più adeguato.
Mi rispondo da solo, per chi avesse avuto il mio stesso problema
seguendo l'articolo della KB Microsoft 179398
http://support.microsoft.com/default.aspx?scid=kb;en-us;179398
Invece dello "usercontrol" ho utilizzato il form1 di uno standard exe, e
funziona perfettamente!
Ora, tutti i messaggi compresi tra 0x8000 e 0xBFFF non sono riservati di
sistema (come ad esempio click mouse, form resize etc) e quindi utilizzabili
dalle applicazioni
Quindi se 0x8000 Hex = 32768 Dec
usando semplicemente nella DLL VC
SendNotifyMessage( hwnd, 32768, NULL, NULL );
E sostituendo nell'esempio WM_MOUSEACTIVATE con 32768
If uMsg = 32768 Then
....
....
Il gioco è fatto
Ho impiegato 2 gg. per capirlo, ma ora sono un uomo realizzato :-))
Grazie a tutti cmq
-- 
adyda for peace
Newsgroup: it.comp.lang.c++
Titolo: Funzione asm in DJGPP

Dovrei visualizzare un pixel in una posizione data. Ho cercato nell'help in
linea di DJGPP ma non ho trovato alcuna funzione che facesse al caso mio. Ho
quindi deciso, visto la semplicità, di scriverla in assembler. La mia
versione è la seguente:
void draw(int riga, int colonna) {
 asm {
 PUSH BP
 MOV BP, SP
 MOV AH, OCH
 MOV AL, 03   // colore
 MOV CX, [BP + 6]   // COLONNA
 MOV DX, [BP + 4]   // RIGA
 INT 10H
 POP BP
 RET
}
}
Con il DJGPP questo non funziona. Come fare?
Esiste la possibilità di linkare un modulo asm esterno? Come?
Esiste un altro metodo alternativo per ottenere il mio scopo?
Grazie a chiunque possa aiutarmi.
Marco

 Con il DJGPP questo non funziona. Come fare?
Hai provato con la funzione non standard int86()?
EMG

Esiste la possibilità di linkare un modulo asm esterno? Come?
Si, esiste, ma non saprei dirti quale. Non uso il DJGPP.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

Se non chiedo troppo, potresti spiegarmi brevemente come fare? Il mio unico
problema è riuscire a visualizzare un cavolo di pixel alla posizione
desiderata.
Grazie ancora.
Marco


 Marco
Non mi permetterei di darti alcun consiglio vista la mia incapacita' ma ho
trovato qualche sito con tutorial che mi sembrano validi prova a darci un
occhiata.
http://web.tiscalinet.it/xs/gamepro/
e link vari anche questi ok

desiderata.
Ecco il frammento di codice che uso io nel mio motore. lpSurface nel tuo
caso dovrebbe essere 0xA0000000.
void CSurface::PutPixel(int _iX, int _iY, char _cColor)
{
  asm {
        les di, this
        /* Non fare caso qui devo ottimizzare tutto con un "les di,
es:[di].lpSurface" */
        mov bx, es:[di].lpSurface        // surface memory offset
        mov ax, es:[di].lpSurface + 2    // surface memory segment
        mov es, ax
        mov ax, _iY
        shl ax, 6                        // ax = _iY << 6
        add bx, ax
        shl ax, 2                        // ax = _iY << 8
        add bx, ax
        add bx, _iX                      // offset = bx =
(_iY<<6)+(_iY<<8)+_iX
        mov al, _cColor
        mov es:[bx], al                  // moves 1 byte (8 bit)
  };
};
Per come tradurlo in notazione AT&T non saprei dirti, non la uso.
Comunque ti consiglio di leggerti a fondo qualche tutorial sulla VGA che
puoi trovare in rete. Prova a partire da 
http://gpi.eden.it

Newsgroup: it.comp.lang.c++
Titolo: randomizzare

Buongiorno, usando  srand(time(0));  non ottengo un grande risultato, su
60.000 elementi il programma mi pesca sempre in un range di un centinaio
tendendo a salire man mano che pesco nuovi valori.
Conoscete un sistema migliore per randomizzare?
Molte Grazie.


Forse puoi pensare tu stesso a un modo: per esempio peschi vari
valori
pseudoaleatori e poi esegui dei "calcoli" su di essi per poi
normalizzare il risultato all'intervallo
di numeri che ti serve. Sono idee, potrebbero funzionare.
Se ad un certo punto hai bisogno di mischiare qualcosa (per esempio io
una volta ho dovuto
simulare un mazzo di carte) puoi usare una funzione standard -
shuffle. Per farlo devi includere
algorithm.

 tendendo a salire man mano che pesco nuovi valori.
srand(time(0)) lo devi chiamare una volta sola. Non è che lo chiami per 
ogni numero, vero?
E.

 ha scritto nel messaggio 
news:idJUi.4168$%L6....@tornado.fastwebnet.it...


  Molte Grazie.
Farlo una volta sola, e da li' in avanti usare solo rand().
--*PaN!*
 
-- 
I'm using an evaluation license of nemo since 70 days.
You should really try it!
http://www.malcom-mac.com/nemo

 wrote in message
news:nemoSat10...@news.fastwebnet.it...

Newsgroup: it.comp.lang.c++
Titolo: funzione strip() su std::string

Ciao,
sto cercando un metodo semplice per implementare un metodo di strip di una
std::string in maniera tale da rimuovere gli spazi iniziali e finali di
una stringa.
Il tutto utilizzando la STL (sono sicuro che esiste un modo per
implementarlo rapidamente, solo che la mia conoscenza di STL è decisamente
SCARSA).
Grazie 
Giampiero

 una stringa.
std::string& strip(std::string& str,const std::string& blanks=" \t\v\r\n") {
  str.erase(0,str.find_first_not_of(blanks));
  str.erase(str.find_last_not_of(blanks)+1);
  return str;
}
-- 
LF



Grazie!
immaginavo fosse mooooolto più semplice del pasticcio con gli iteratori
che avevo creato...
Giampiero

Newsgroup: it.comp.lang.c++
Titolo: problemino con djgpp e grx23

salve a tutti,
ho scaricato da qualche giorno i file grx23.zip e qualche altro che djgpp
consigliava per la grafica.
ho provato a far partire alcuni programi di prova tipo  linetest.c o simili
che stanno nella cartella C:\djgpp\grx23\test e ho provato a compilarli (con
ALT+F9) e tutto e' andato bene, quando poi  ho provato a creare l'eseguibile
per vedere cosa fosse mi ha trovato un sacco di errori del tipo
undefined reference to 'GrFilledBox'
undefined reference to 'GrLine'
e cosi' via, qualcuno sa che devo fare? se mi sono dimenticato di scarcare
qualche cosa oppure se devo spostare qualche file da qualche parte o
aggiungere qualche path?
grazie mille a tutte le anime pie che avranno la bonta' di aiutare un povero
viandante in difficolta' nelle tortuose vie della programmazione

 
Non ho mai provato grx ma in generale bisogna:
1. Se la distribuzione contiene solo i sorgenti, compilare con il makefile
fornito
2. Se la distribuzione e le procedure di installazione non mettono i file
.a nella directory %DJGPP%\lib, spostarli manualmente o lasciarli dove sono
ma aggiungere la directory nel comando di compilazione (vedi punto 3.1)
3. Da RHIDE:
3.1 se le nuove librerie non sono in %DJGPP%\lib aggiungere i nuovi path da
menu options->directories->libreries
3.2 aggiungere la nuova libreria (il nome senza estensione e senza prefisso
lib - grx) da menu options->libraries
Dopo aver installato, prova a cercare i file *.a (sara' qualcosa tipo
c:\djgpp\grx23\lib\libgrx.a) e una volta identificati i file segui la
procedura. Le impostazioni di RHIDE corrispondono alle opzioni del gcc -L e
-l per impostare il path di ricerca e le librerie (vedi info)
Newsgroup: it.comp.lang.c++
Titolo: Pcome creare la parte grafica?

Per compito d'esame dvrei fare il gioco della dama con il linguaggio C++.
Usando librerie standard come posso creare l'interfaccia grafica? Se
qualcuno conosce altre librerie e il loro uso puņ aiutarmi

Cerca l'Allegro Library su internet. E' semplice, potente e
multipiattaforma.
Luc.


 
Per questo scopo qgni piattaforma dispone di una gamma di opzioni
possibili. Alcune garantiscono o favoriscono la portabilità del codice su
piattaforme diverse, altre no. E' opportuno rivolgere questo tipo di
domande su newsgroup specifici dedicati alla piattaforma in questione, ad
es:
 it.comp.programmare.win32 
 it.comp.os.linux.development 
Max

 chi ne sa indubbiamente pi=F9 di me.
Tiro ad indovinare; non e' che la semplice stampa di una matrice
8x8 con 'O' per le pedine bianche, 'X' per quelle nere e '.' per
casella vuota fosse quello che il prof intendeva?
Chiaramente un vero uomo di fronte a questo problema comincia per
prima cosa a fare il ray tracing di pedine tridimensionali in
cristallo, colorate in rosso rubino e nero ebano, con mille riflessi e
pagliuzze d'oro incorporate, ma ...
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Usando librerie standard
Non esistono librerie standard per l'interfaccia, al piu` in rete puoi
trovare librerie (piu` o meno) portabili e in linea con lo standard.
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

chi ne sa indubbiamente piů di me.
Dipende... dato il problema, e` piu` facile che gli obiettivi del
compito siano altri magari e` un esame di AI (pero` probabilmente
avrebbero fatto utilizzare lisp... poi dipende dall'approccio...) cmq ci
sono esami il cui obiettivo e` proprio la realizzazione di una
interfaccia.

Newsgroup: it.comp.lang.c++
Titolo: sviluppare applicazioni windows

Buonasera,
Io mi dilettavo un po' col c++, costruendo semplici applicazioni in dos.
Per creare applicazioni windows (o linux?), grafiche insomma, in modo 
che ci siano finestre, pulsanti ecc. come con il Visual Basic cosa devo 
fare?
Scusate la banalità della domanda, ho cercato molto su google ma è 
piuttosto ampio l'argomento, si parla di dev-cpp, qt, di gtk e dato che 
devo appena incominciare vorrei un consiglio appunto su come cominciare.
Grazie,
Saluti

 fare?
Visual Studio Express di Microsoft è gratuito e può fare al caso tuo,
però manca (nella versione express) delle utili MFC, per cui può essere
interessante se entri nell'ottica di usare il framework .NET, più che il
C++ "puro".
Altrimenti le QT sono secondo me le migliori librerie grafiche per
windows/linux/mac/embedded linux, però devi dotarti di compilatore e
IDE. In questo caso ti rimando a google e al sito delle qt
(
http://www.trolltech.com
). Le QT sono opensource e ricadono sotto
licenza GPL per i lavori GPL, mentre sono a pagamento (e costano!) per i
lavori commerciali e chiusi.
A mio parere il top per lo sviluppo di software open è senz'altro QT,
mentre se non puoi permetterti l'acquisto delle licenze QT commerciali,
per il software closed è meglio indirizzarsi su visual studio (versione
standard) e MFC.

 windows/linux/mac/embedded linux
Concordo con il tuo parere sulle QT ma, per par condicio, e' il caso
di nominare almeno anche wxWidgets e gtkmm.
Per queste discussioni, comunque, consiglio all'OP di postare su
it.comp.programmare.win32 che e' sicuramente il newsgroup piu'
appropriato.
Saluti,
The Librarian

 di nominare almeno anche wxWidgets e gtkmm.
A proposito di questo ho provato a prendere wx-devcpp che mi sembra 
molto più "user-friendly" di un semplice editor come devcpp, anche se 
comunque è più complicato del Visual Basic.
Faccio bene a continuare con questo o mi butto sul Visual Studio come 
avete detto?
E anzi un'ultima domanda: per usare le qt cosa devo utilizzare? Perchè 
ho notato che non sono sempre supportate in ambiente windows


per applicazioni grafiche molto semplici forse potresti dare un'occhiata 
anche alla libreria fltk
è davvero molto semplice da usare sia su linux che su windows
ciao

 comunque è più complicato del Visual Basic.
Forse se ragioniamo in termini di "semplicità" (oppure se hai tempi di
consegna ristrettissimi) puoi orientarti sui tool RAD della MS. Ma se fai
un piccolissimo sforzo in più puoi evitare di legarti (in termini di
abitudini, librerie, etc.) ad un prodotto proprietario. Si trovano diversi
IDE multipiattaforma che integrano GUI designers per GTK o wxWidgets o QT;
non saprei consigliarti, io di solito uso strumenti più spartani come Kate
o Geany. Puoi provare Code::Blocks, ad esempio, o Eclipse.
-- 
  Narcolessico
 
http://binaryunit.blogspot.com
Newsgroup: it.comp.lang.c++
Titolo: graphics.h

Non riesco a settare il modo grafico con :
initgraph (&gdriver,&gmode,"/bgi");
Mi da un errore di linking : Undefined simbol _initgraph
Saro' molto grato a chi vorra aiutarmi.
GRAZIE
Ciao da Omar, 
men...@mdnet.it


  Live long and Prosper

Mi da un errore di linking : Undefined simbol _initgraph
stai usando Borland C++, vero? che versione?
dovresti postare qualche informazione di piů sulla sorgente, cosě non č
possibile darti grandi aiuti. Comunque, controlla che sia settato "Generate
Underbars" sotto il menu "Compiler/Advanced Code Generation" (o qualcosa di
simile, non ricordo...)
--
(void*)
ic...@mindless.com
http://www.netcafe.interbusiness.it/users/icaro

Newsgroup: it.comp.lang.c++
Titolo: Conta!

Ciao,
vorrei sapere se qualcuno si č mai cimentato nel progettare un algoritmo che
risolva il goco "Conta!", per intenderci quello dove ti danno N (o piů)
numeri da utilizzare per raggiungere un numero finale anch'esso dato in
precedenza.
Le operazioni utilizzabili sono le solite: somma prodotto divisione e
sottrazione.
L'ho risolto anche se mi piacerebbe ottimizzare qualche passo, per questo
cerco qualche altro sorgente da confrontare o semplicemente dei suggerimenti
su come eliminare le forme ridondanti del tipo:
(1+2)/(3/4)
(1+2)/3*4
etc.
Davide
pe...@tin.it

...

Newsgroup: it.comp.lang.c++
Titolo: eliminazione di una variabile prima della fine dello "scope"

Come da oggetto dovrei risolvere il seguente problema:
alloco nello stack una variabile di grande dimensione
che vorrei deallocare prima della fine della funzione in cui
e' stata allocata in modo da riutilizzare la memoria per altre variabili:
cioe'
metodo_principale{
int array[100000];
//...
operazioni
//...
        medoto_secondario(array);
}
metodo secondario(int* array){
//...
operazioni sulla variabile array
//...
//-->adesso dovrei liberare la memoria di array[] dovendo fare:
int array2[100000];
//...
operazioni su array2
//...
}
Si puo' fare?

 Si puo' fare?
No.
Direi che puoi semplicemente riutilizzarlo (riorganizzando il tuo codice),
il fatto che sia già allocato è un vantaggio prestazionale non trascurabile,
perchè distruggerlo e ricrearne un'altro (tra l'altro con lo stesso numero
di elementi) ?
#include <iostream>
using namespace std;
const unsigned int ARRAY_SIZE = 100000;
int met2(int* array,const unsigned int size);
int met1()
{
        // alloca staticamente l'array (?)
        int array[ARRAY_SIZE];
        // fa qualcosa
        for(unsigned int i=0;i<ARRAY_SIZE;++i) array[i]=1;
        return met2(array,ARRAY_SIZE);
}
int met2(int* array,const unsigned int size)
{
        int somma=0;
        for(unsigned int i=0;i<ARRAY_SIZE;++i) somma+=array[i];
        return somma;
}
int main(int argc, char* argv[])
{
        cout << "Risultato: " << met1() << "\nFINE\n";
        return 0;
}
Se puoi, in ogni caso, è bene evitare di mettere array di dimensioni molto
grandi nello stack, sarebbe meglio allocare l'array in modo dinamico.
Se usi i tuoi metodi in una classe, non hai nemmeno bisogno di passare a
metodo2 il suo puntatore.




Newsgroup: it.comp.lang.c++
Titolo: Assert vs Eccezioni

Ho una situazione di questo tipo:
(programma di esempio)
int main() {
  funzionea(parametri) // può lanciare e gestire una eccezzione di una classe
  if(!funzioneb(altri parametri)) assert(1);
  assert(2);
}
La cosa strana è che se l'oggetto usato in funzionea lancia una eccezione e la
funzone la gestisce, i successivi assert se invocati falliscono.
Usando exit o abort al posto di assert il programma esce come dovrebbe.
C'e' qualcosa che ho tralasciato?
-- 
| /
| \Byte - Andrea Briganti - 
kbyt...@freemail.it
http://www.kbytesystem.fasturl.it
 ICQ: 40872731
*** Chi non ha rispetto non merita considerazione

 C'e' qualcosa che ho tralasciato?
Si, di controllare la documentazione di assert. assert prende come
argomento un'espressione booleana; se questa vale false mostra un
messaggio diagnostico e termina l'esecuzione. Altrimenti non fa niente.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Immagini da webcam usb

Qualcuno mi sa dare qualche idea su come realizzare in C++ un software che
campioni ogni x secondi
l'immagine fornita da una webcam USB?
Vi ringrazio molto!!!



se usi win32, vai su it.comp.programmare.win32; se usi linuz, vai su
it.comp.os.linux.developement. Qui sei OT ;)
Ciao,
Zeppe
Newsgroup: it.comp.lang.c++
Titolo: lanciare un eseguibile da codice

 
          salve a tutti, ho sviluppato un piccolo programma in vc++ (sono alle prime
armi)
           dopo aver aperto una messagebox avrei bisogno di lanciare un eseguibile
esterno passandogli un parametro
come faccio in vc++ a richiamare un programma esterno passandogli un
argomento?
grazie
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 
Ciao,
qui sei OT, comunque devi usare una API del tuo sistema operativo, oppure
qualche funzione che ti fornisce l'ambiente.


Io non ho capito bene se è effettivamente OT.
Se intende dire che vuole eseguire un programma esterno al VC++ (cos'è? Un
IDE?), mentre si trova in questo ambiente(?) di lavoro, allora è OT.
Però mi è venuto il dubbio che intendesse chiedere come eseguire un
programma qualsiasi dall'interno del suo codice C++, che riceve il nome
dell'eseguibile attraverso una funzione di input (ma questo è irrilevante).
Se è cosi c'è una funzione ANSI C:
 #include <stdlib.h>
       int system(const char *string);
Saluti,
fabiomdf


grazie fabio, almeno qualcuno che non ha la testa a compartimenti stagni e
non vive con la fobia degli ot (che ot non č)
cmq ho fatto cosě
TCHAR nomeexec[260] = "DoPlugIn.exe";
_execl(nomeexec,m_szFile,NULL);
lancio il mio eseguibile che vuole un parametro (path+nome di un file) da
linea di comando. il problema č che m_szFile puň essere un path con degli
spazi e in questo caso non mi funziona correttamente, cioč il mio eseguibile
non vede tutto il path, ma si ferma al primo spazio, come faccio a far si
che il mio eseguibile prenda tutto il path completo di spazi
es.
d:\>DoPlugIn "C:\documento di file.doc"


 non vive con la fobia degli ot (che ot non è)
La testa a compartimenti stagni c'e' l'hai tu: se mi parli di Visual C++,
sei OT, che ti piaccia o meno. Se invece ti spiegassi in modo chiaro
(come da dubbio che gli e' venuto a Fabio) allora sarebbe meglio per tutti
quelli che gratuitamente ti dedicano del tempo alla lettura del tuo messaggio.
mah...

 d:\>DoPlugIn "C:\documento di file.doc"
Hai provato a mettere il nome del path/file tra virgolette ("documento di
file.doc")? Forse ci sono altri sistemi più semplici, ma questa è la prima
cosa che mi viene in mente, anche se non è facilissima da gestire.
Ciao,
fabiomdf

Newsgroup: it.comp.lang.c++
Titolo: *.o in unosolo.o

Salve a tutti.
ho 3 file oggetto e vorrei farli diventare uno solo.
é possibile?
ho provato con
g++ -o unosol.o -c 1.o 2.o 3.o 
ma da errore.
ringrazio anticipatamente
-- 
Andrea Corradi		| Debian GNU/Linux User |
gpg --keyserver 
keyserver.linux.it
 --recv-keys 57B18458 
Fingerprint:  A41E F6B0 DBDB F04C 4940  E411 30F3 CD62 57B1 8458

 é possibile?
In teoria non vedo ostacoli a fare quello che vuoi (ma potrebbero 
sfuggirmi dei dettagli), pero' non conosco nessuno strumento che lo faccia.
Non ne vedo pero' lo scopo e mi sembra una richiesta un po' strana, a 
cosa ti serve?
Puo' bastare fare una libreria (.a)? In tal caso useresti ar.
  bye
	av.
Newsgroup: it.comp.lang.c++
Titolo: C++ e MySQL

Salve
Vorrei realizzare un piccolo programmino in C++ che utilizzi MySQL per
gestire una semplice basi di dati. Come posso collegare l'applicazione con
MySQ?
Grazie
Maxy

 MySQ?
http://www.mysql.com/downloads/api-mysql++.html
PS: Basta un motore di ricerca.
--
C Ya!

Newsgroup: it.comp.lang.c++
Titolo: Main : void oppure int ?

Salve,
da poco ho cominciato ad interessarmi al linguaggio C++.
Ho notato che libri diversi usano negli esempi due diversi tipi 
per la funzione main: alcuni la usano come void, altri come 
intero con restituzione return=0. Si tratta di due approcci del 
tutto indifferenti o ci sono motivi per preferire uno piuttosto 
che l'altro? Nel secondo caso, si puo' fare uso del valore 
restituito? E quale?
Grazie.
________________________________________
Roberto Trama
Capri (Napoli) Italy
http://www.capriweb.com/
________________________________________
--
Automatic posted from 
mail.tin.it
 [194.243.154.49]
via Mailgate Server - 
http://www.mailgate.org

Nel secondo caso, si puo' fare uso del valore restituito? E quale?
Se lavori in DOS il valore ritornato dalla main finisce
nell'errorlevel che puoi testare con IF ERRORLEVEL etc.. etc..
(consulta il manuale/help del DOS per la sintassi completa).
(p.s. Se hai bisogno scrivimi in e-mail
      In case of need write me an e-mail)
Bye/ciao
Verno Vito Valerio
ICQ : 700.84.18
ve...@ibm.net
Genoa - Italy

restituito? E quale?
Se main ritorna un valore diverso da zero, indica un errore;
starebbe al sistema operativo indicare all'utente l'errore
stesso in un modo o nell'altro.  Ad esempio, in un file BAT
del DOS, puoi testare l'errore ritornato da un programma,
e dare messaggi opportuni (o prendere azioni diverse).
Alex

quindi termina con return.
Solo una precisazione super-pedantica: main() e` l'UNICA eccezione
a questo "ovviamente"; a rigor di standard, main() deve essere una
funzione int MA e` l'unica a potere lecitamente NON ritornare nulla,
e se cosi` e` tocca al compilatore inserire un implicito "return 0;".
In
pratica, non conosco nessun compilatore C++ che, a oggi, abbia in
pratica implementato questo piccolo dettaglio dello standard (e poi,
tutto sommato, cosa cosa al programmatore metterci un esplicito
"return 0;", per cui e` veramente un'inezia), ma, giusto per
pedanteria...
Alex
Newsgroup: it.comp.lang.c++
Titolo: Problema linking con dev-c++

Salve a tutti,
ho intenzione di cimentarmi a sviluppare un'applicazione con un toolkit chiamato fox (platform 
independent), ma ho avuto subito qualche problema.
Ho scaricato gli ultimi sorgenti versione 1.6 e li ho compilati con visual studio senza problemi, 
sia in versione statica che dll.
Ho poi copiato la libreria generata FOX-1.6.lib nella cartella devcpp\lib e ho messo i nuovi headers 
in una cartella devcpp\include\fox-1.6.
Ho aperto un progetto d'esempio di fox e le opzioni del compilatore e del linker sono queste:
compilatore:
-I"<INCLUDE>\fox-1.6"
-DHAVE_JPEG_H
-DHAVE_TIFF_H
-DHAVE_PNG_H
-DHAVE_ZLIB_H
-D__GNUWIN32__
-W -fexceptions
-DWIN32
-D_WINDOWS
-DUNICODE
linker:
-lfox-1.6
-lcomctl32
-lwsock32
-lkernel32
-luser32
-lgdi32
-ladvapi32
-lshell32
-lmpr
-lwinspool
-ljpeg
-ltiff
-lpng
-lz
A questo punto ho messo le dll delle librerie per le immagini (jpeg, tiff, png e zlib) nella 
directory dell'eseguibile e le varie .a e .lib nella directory devcpp\lib.
Ho provato a compilare e funziona, solo che mi da problemi nella fase di linking!
Gli errori che mi ritorna il compilatore di devcpp sono i seguenti:
[Linker error] undefined reference to `FX::FXMetaClass::search(unsigned int) const'
[Linker error] undefined reference to `FX::FXString::FXString(char const*)'
[Linker error] undefined reference to `FX::FXImageViewer::FXImageViewer(FX::FXApp*, FX::FXString 
const&, FX::FXIcon*, FX::FXIcon*, unsigned int, int, int, int, int, int, int, int, int, int, int)'
[Linker error] undefined reference to `FX::FXString::~FXString()'
[Linker error] undefined reference to `FX::FXRecentFiles::FXRecentFiles()'
[Linker error] undefined reference to `FX::FXToolBarShell::FXToolBarShell(FX::FXWindow*, unsigned 
int, int, int, int, int, int, int)'
...
cioè in pratica non trova gli entry point della libreria fox appena compilata (fox-1.6.lib) giusto?
Ho provato anche a specificargli fox-1.6.lib con tutto il percorso invece che solo -lfox-1.6 nelle 
opzioni del linker, ho provato anche a rinominare fox-1.6.lib in libfox-1.6.lib ma mi dice che non 
trova il file .lib, quindi nel caso precedente fox-1.6.lib lo trovava!
Qualcuno ha qualche idea sul perché non risolve il linking? C'è qualche opzione strana da 
specificare durante la compilazione in VC++ di fox che non sia già inserita nel progetto dall'autore?
Uso devcpp perchè per svariati motivi dovrei iniziare un progetto con altre persone e lavorare su 
devcpp con fox.
Ringrazio tutti coloro che leggeranno e si interesseranno a questo problema, grazie mille

Non so risolvere il tuo problema, perň potresti cercare il devpack del
toolkit Fox, sperando che esista. Puoi cercarlo direttamente da Dev-C++,
scegliendo "Cerca aggiornamenti". Oppure adoperarti in una normale ricerca
con un motore di ricerca web.
Il devpack, nel caso non lo sapessi, č un "pacchetto" che installato su
Dev-C++ lo rende immediatamente operativo per operare sul toolkit
desiderato. Ovviamente non esiste un devpack per ogni toolkit, ma molti dei
piů rinomati ce l'hanno.
Kaos.
Newsgroup: it.comp.lang.c++
Titolo: Triangolo Tartaglia..in C++

Salve! 
Qualcuno potrebbe darmi qualche dritta sul Triangolo di Tartaglia,
in C o C++... Roba tipo fare uscire le n righe del triangolo sudetto...
--------------------------------------- -- -  -
Vanamonde - 
va...@freenet.hut.fi
--------------------------------------- -- -

Mumble. Volentieri. Ma non ricordo a memoria cosa sia il triangolo di
tartaglia (azz, sto invecchiando) e non ho i reference sotto mano.
Rinfrescami il problema e vedo se riesco a buttare gi=F9 qualche cosa
velocemente.
---
     Andrea Ferro
SW.AN. Technologies s.a.s.
Merate (Lc)          Italy
	-----Original Message-----
	From:	Vanamonde [
SMTP:va...@freenet.hut.fi
]
	Posted At:	Tuesday, November 11, 1997 6:27 PM
	Posted To:	c++
	Conversation:	Triangolo Tartaglia..in C++
	Subject:	Triangolo Tartaglia..in C++
	=85
	Qualcuno potrebbe darmi qualche dritta sul Triangolo di
Tartaglia,
	in C o C++... Roba tipo fare uscire le n righe del triangolo
sudetto...
	=85

tartaglia (azz, sto invecchiando) e non ho i reference sotto mano.
|-) ti ricordi le potenze dei binomi?
( A + B ) ^ n
devi avere tante righe, una per ogni potenza, iniziando dalla seconda:
^2:                  1 2 1
^3:                 1 3 3 1
^4:                1 4 6 4 1
^5:               1 5 10 10 5 1
gli estremi ('1') sono i coefficienti di A e B, e gli interni di quelli =
di A*B.
ogni riga 1 elemento in pi=F9 della precedente.
In sostanza:
(a+b)^2 =3D 1*a^2 + 2*ab + 1*b^2
(a+b)^3 =3D 1*a^3 + 3*a^2b + 3*ab^2 + b^3
(a+b)^4 =3D a^4 + 4a^3b + 6a^2*b^2 + 4ab^3 +b^4
etc...
In breve: (a + b)^n =3D SUM (k =3D 0 ... N) [ (N su k) * a^(N-k) * b^k]
dove (N su k) =E8 il coefficiente binomiale uguale a N ! / [ k! * (N-k)! =
].
Al nostro amico serve determinare tutti i coefficienti (N su k).... =
Sarebbe interessante implementare un algoritmo iterativo che eviti di =
caricare ogni volta i k! e gli (N-k)! valori, recuperando quello =
calcolato nell'iterazione precedente...=20
miao.
(void*)
ic...@mindless.com
http://www.netcafe.interbusiness.it/users/icaro

^5:               1 5 10 10 5 1
In qusto caso potrebbe andare bene un qualcosa del genere :
void RigaTartaglia (int * Riga, int N)
 {
  if (N<1) return;
  if (N==1) {  Riga[0] = 1;  Riga[1] = 1;  }
   else
   {
    int * RigaPrec = new int[N];
    RigaTartaglia (RigaPrec, N-1);
    Riga[0] = Riga[N] = 1;
    for (int i=1; i<N; i++)   Riga[i] = RigaPrec[i-1] + RigaPrec[i];
    delete [] RigaPrec;
   }
 } // end riga tartaglia
Dopo avere richiamato la funzione, i valori dei coefficienti sono contenuti
nelle posizioni 0 .. N del vettore Riga
Saluti da Parma


http://www.netcafe.interbusiness.it/users/icaro
bhe`...mah...  l'algoritmo deve essere ricorsivo...
Trasferimento EMAIL:  prego rispondere al nuovo indirizzo...

Newsgroup: it.comp.lang.c++
Titolo: Help!!!! Make-Makefile

Muovo i primi passi nel mondo di linux e sto tentando di fare un piccolo
programma con classi  in c++ ed assemblarlo.
Premetto il mio sistema  Suse-Linux usa un versione 6 con Elf.
Digitando da consolle  
          # c++ Begin.cpp B_Object.cpp  -o Begin 
il sistema funziona; per contro il makefile:
CC=g++
CFLAGS=-g
Begin_Sources=\
           B_Object.cpp\
           Begin.cpp
#Begin.cpp contiene solo main
My_Headers=\
            B_Object.h
A_begin=Begin.o B_object.o 
Begin	:S(A_Begin)
       	$(CC) $(A_Begin) S(CFLAG$)-o
all	:$(A_Begin)
	$(CC) $(Begin_Sources) S(CFLAG$)-c
clean	:rm $(ABegin)
install	:Begin /home/llpk/src
lanciandolo da consolle # make -f makefile
lo esegue dando luogo ad un esguibile a.out e Begin.o B_object.o
inoltre non mi esegue nè install nè clean dove sbaglio? 
Preciso non è un errorre di tab e per capire non voglio utilizzare
automake.
grazie
giorgio



 il sistema funziona; per contro il makefile:
[snip]
Non e` molto corretto come Makefile...
CXX=g++
CXXFLAGS=-g
%.o: %.cpp B_Object.h
	$(CXX) ($CXXFLAGS) -c $<
Begin: Begin.o B_Object.o
	$(CXX) ($CXXFLAGS) -o $@ Begin.o B_Object.o
clean:
	rm -f Begin.o B_Object.o Begin
install: Begin
	cp Begin /home/llpk/src
all: install clean
make all provvede a compilare, installare e pulire la directory di
compilazione.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Un apostolo vedendo Gesu` camminare sulle acque:
- Cazzo se e` buono 'sto fumo!!!
Newsgroup: it.comp.lang.c++
Titolo: fscanf e EOF

Ciao a tutti!
Ho un piccolo forse banale problema con la lettura di un file:
dopo aver scritto piů volte un file con l'istruzione fprintf
FILE *f;
f=fopen("Data.log", "a");
fprintf(f, "%s%d%d\n", x, y, z);
mi serve leggere una stringa e due interi per volta fino all'EOF.
Posso e come?
Es.
while ((n=fscanf(f, "%s%d%d", &x, &y, &z))!=EOF)
         ..........................................
sarebbe corretto?
Grazie! :-)
--
Paolo

 sarebbe corretto?
Non credo... Puoi fare cosě:
while (!feof (f))
	n = fscanf (f, "%s%d%d", x, &y, &z);
Hai commesso un errore: quando leggi una stringa, devi solo scrivere x e 
non &x. Se il perchč non ti č chiaro leggiti il capitolo sui puntatori e 
sugli array del tuo libro (penso tu ne stia leggendo uno no?). Comunque ti 
conviene lasciare uno spazio sia quando scrivi che quando leggi. Ovvero
fptrintf (f, "%s %d %d", x, y, z); altrimenti non penso funzioni 
correttamente. Comunque questo č C, per il C++ dovresti fare qualcosa tipo:
#include <fstream>
#include <string>
std::ifstream file;
std::string x;
int y, z;
while (file >> x >> y >> z)
	// Lavori con X Y Z
	;
-- 
Andrea Bergia - studente
Linux Registred User #281550

 	n = fscanf (f, "%s%d%d", x, &y, &z);
Leggi un campo di troppo.  Dalla FAQ list di comp.lang.c:
12.2:   Why does the code
                while(!feof(infp)) {
                        fgets(buf, MAXLINE, infp);
                        fputs(buf, outfp);
                }
        copy the last line twice?
A:      In C, end-of-file is only indicated *after* an input routine has
        tried to read, and failed.  (In other words, C's I/O is not like
        Pascal's.)  Usually, you should just check the return value of
        the input routine (in this case, fgets() will return NULL on end-
        of-file); often, you don't need to use feof() at all.
        References: K&R2 Sec. 7.6 p. 164; ISO Sec. 7.9.3, Sec. 7.9.7.1,
        Sec. 7.9.10.2; H&S Sec. 15.14 p. 382.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it