mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Esercizi K&R: 2 domande ;-)

Ciao!
Grazie al vostro aiuto sto procedendo con gli esercizi del K&R e, dopo
qualche ora (non sfottetemi, prego!), ho risolto il numero 1-9, "scrivere un
progr. che copi l'input in output, sostituendo uno o più spazi in un singolo
spazio", ma vorrei sapere se ci fosse un modo per scriverlo in modo più
compatto, pur senza introdurre nuove istruzioni ;-)
Ecco il mio codice:
#include <stdio.h>
/* Replace single or multiple blanks with a single blank
   Exercise 1-9, p.20 K&R */
main()
{
        int c, blank;
        blank = 0;
        while ((c = getchar()) != EOF)
                {
                if (c == ' ')
                        {
                        ++blank;
                        if (blank > 1)
                                ;
                        if (blank <= 1)
                                putchar(c);
                        }
                if (c != ' ')
                        {
                        putchar(c);
                        blank = 0;
                        }
                }
}
Seconda domanda: non capisco cosa chieda l'esercizio successivo, 1-10,
quando dice: "scrivere un progr. che copi l'input in output, sostituendo
ogni tab con \t, ogni backspace con \b e ogni backslash con \\.  Questo
renderà i tab ed i backslash  visibili senza ambiguità"
Ora, io non ho proprio capito che cosa intendano gli autori, perchè dovrei
sostituire, per es., un tab con un \t quando questo produce lo stesso
effetto di un tab?
O invece intendono una cosa simile:
input:    abcd    efgh    ijkl
output:  abcd\tefgh\tijkl
In questo caso non ne capirei l'utilità...
Ciao!
Andrea Massucco      
and...@dircon.co.uk
      ICQ: 31185185
################################################
# gaudeamus maxime in nomine Bacci, Tabacci Venerisque #
################################################

In questo caso non ne capirei l'utilità...
La risposta ce l'hai davanti agli occhi :
"Questo renderà i tab ed i backslash visibili senza ambiguità"
;)
Andrea Laforgia
----
I guai ve li andate a cercare : 
quando Bill Gates annuncio' che avrebbe fatto scrivere 
Windows98 a Topo Gigio perche' non gli avete creduto ?

Newsgroup: it.comp.lang.c
Titolo: Spedire fax

Qualcuno sa come si fa?
Ho letto su MSDN che con TSPI ( un estensione di tapi, il driver di
telefonia) si puň fare una chiamata telefonica classe3, cioč quella dei fax,
e poi tramite l' handle della linea si possono inviare i dati.
Le domande sono due:
-Se un fax č un file grafico, quale formato deve essere utilizzato?
-Come si possono convertire file di testo e immagini nel suddetto formato?
Grazie in anticipo e buon 2000

> Qualcuno sa come si fa?
Io uso W95 e Word, ma credo che non fosse questo quello che chiedevi... :-)
Che c'entri con le TAPI?
Di sicuro c'entra solo con 1 solo dei NG, e probabilmente nessuno di quelli
che hai indicato. Io proverei in it.comp.programmare.win32, dove ho
impostato il follow-up e che ho aggiunto alla lista
--
Alessandro Monti
Newsgroup: it.comp.lang.c
Titolo: come riempio un struttura timeval ??

Slave a tutti,
    sto realizzando una libreria di funzioni per il networking ed ho un
problema (è la prima volta che mi cimento in qualcosa di simile, quindi
chiedo scusa in anticipo se la domanda è banale ...). Come riempire una
struttura timeval col C++ builder1.0 ? non ho trovato alcuna funzione
che faccia questo e non sono per niente pratico delle api di windows,
quindi ringrazio chiunque mi possa aiutare....
    Pollini Andrea

sfogliando negli header ho trovato:
#include <sys/timeb.h>
gettimeofday(timval *, timezone *);
esempio:
timeval ora;
gettimeofday(&ora,NULL);
spero ci sia pure nel builder 1
 
___________________________________________________________
                    _
 \ \// // //| | // |_ _|_|_ member of EventOrizon software
  \//\// // | |//  |_  | |   
http://members.xoom.it/wavexx
___________________________________________________________

Newsgroup: it.comp.lang.c
Titolo: Versione Rhide , Djgpp

Salve a tutti , uso Rhide versione 1,4 e Djgpp 2.7.2.  , c'è qualcuno che sà
a quale versione è arrivato
Rhide è Djgpp?
Grazie 1000
Ciao :-) Roberto

 Rhide è Djgpp?
Il DJGPP che ho io è il 2.0.3 con il gcc 2.9.5.2b.
EMG

 Rhide è Djgpp?
Di Rhide l'ultima è la versione 1.4.
Di DJGPP l'ultima è la 2.03. Quella che hai indicato tu dovrebbe essere la
versione di gcc, il compilatore, ottenuta digitando gcc -v. In questo caso
l'ultima (corrispondente a DJGPP 2.03) è 2.95.2.
--
Marco Iannaccone
marc...@tin.it
Nick: Tolkien
ICQ UIN: 18748121
"This is a new ship, boy, but she's got the right name...
You treat her like a lady, and she'll always bring you home"
"Questa è una nave moderna, ma ha un nome antico e glorioso...
Trattala come una signora e ti riporterà sempre a casa"
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm
FAQ di it.comp.lang.c++:
http://www.programmazione.it/linguaggi/c/lang_faq.htm
Newsgroup: it.comp.lang.c
Titolo: Creazione libreria statica, alcuni dubbi

Salve a tutti,
Sto cercando di scrivere una libreria statica per contenere tutte
quelle funzioni che vado a utilizzare spesso all'interno di un mio
progetto, senza dover includere il codice di queste funzioni in ogni
sorgente. Ho creato quindi il file "support.c" e "support.h". Nel .c
ho messo il codice delle mie funzioni e nel .h i prototipi delle
funzioni "pubbliche". Viene compilato e si genera un file .o che poi
viene incluso in uno .a direttamente dall'IDE.
All'interno del mio sorgente ho incluso una libreria, MIRACL, per la
gestione dei numeri big. Ora, al momento di includere la libreria nel
mio progetto ci sono dei problemi di compilazione, cioè c'è il
problema di usare le funzioni della liberia MIRACL dentro la mia
libreria.
Presumo che sia proprio un problema di inclusione di una libreria
statica in una libreria statica, come posso ovviare?
Ringrazio anticipatamente
A presto
Pierpaolo

 statica in una libreria statica, come posso ovviare?
In genere in una libreria non si "include" un'altra libreria. 
Eventualmente in una libreria si usano le funzioni di un'altra 
libreria semplicemente richiamandole e dopo aver incluso l'header file 
di quella libreria.
Poi devi linkare con i tuoi file oggetto entrambe le librerie.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >

 Giovanni
Ciao e grazie,
Pierpaolo

 sembra che sia una specie di problema di "gerarchia".
Ma hai specificato di linkare anche la libreria miracl?
Per esempio il comando di compilazione/link dovrebbe essere (per un 
compilatore in ambiente unix e supponendo libzc_sup.a e libmiracl.a i 
nomi delle librerie):
$ cc progetto.c -lzc_sup -lmiracl


 Giovanni
Ciao
Pierpaolo

 libreria statica in una libreria statica a sua volta...
Naturalmente dipende da come lavora il linker ma in genere lavorano in 
modo ricorsivo.  Verifica l'ordine in cui sono linkate le librerie.

Newsgroup: it.comp.lang.c
Titolo: Newbie cerca aiuto - dov'e' l'errore?

Sono nuovissimo al C. Grazie a questo newsgroup ho scoperto il compilatore
Bloodshed Dev-C++ e sto muovendo i primi passi (anche se molto lentamente).
Mi sono bloccato pero'al seguente programma, che al momento almomento della
compilazione da i seguenti errori:  request for member `cognome' in `r',
which is of non-aggregate type `struttura *'
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
typedef struct {                 /* creo il tipo di dato struttura  */
   char cognome[21];
   char nome[21];
   char telefono[15];
} struttura;
typedef struttura *puntatore;    /* creo il tipo di dato puntatore */
int main()
{
      puntatore r;               /*creo una variabile r puntatore */
      printf("Cognome: ");
      gets(r.cognome);           /*qui si verifica l'errore!!!!!*/
      printf("\nNome: ");
      gets(r.nome);
      printf("\nTelefono: ");
      gets(r.telefono);
      return 0;
}
Vi prego, sto impazzendo. datemi una mano e ve ne saro'grato per non aver
abbandonato cosi' presto il C
Pasquale B.

       gets(r.telefono);
Quando agisci su strutture tramite puntatori devi usare l'operatore ->
invece del .
cioè gets(r->cognome)
ciao dnt
--
____________________________________________________
________________________________________________
WebMaster di 
http://digilander.iol.it/dNT/


God, I ask for patience -- and I want it right now!

       gets(r.cognome);           /*qui si verifica l'errore!!!!!*/
Essendo r un puntatore devi utilizzare l'operatore "freccia":
gets( r -> cognome );
e analogamente per i successivi.
EMG

  typedef struct nome {          /* le devi dare un'etichetta !!! */
No, va bene anche senza tag.
EMG

No, va bene anche senza tag.
o c***o ... scusate per la boiata ;-)))
grazie per la correzione  ......

Newsgroup: it.comp.lang.c
Titolo: Puntatori e liste.

Salve a tutti,
Ho un problemino a capire i puntatori e la loro relazione con le liste:
come si effettua una lista?
ad esempio: ho una struct contenente nome e cognome. come faccio a fare una
lista di elementi di questo tipo usando i puntatori?
Grazie per l'attenzione...e a presto...

 lista di elementi di questo tipo usando i puntatori?
Innanzitutto aggiungi un campo che sia un puntatore al record stesso, poi
devi avere una variabile (esterna al record) che sia a sua volta un
puntatore al record, e ti farà da puntatore al primo elemento della lista, e
devi fare attenzione a non "perderlo", sennò non puoi più usare la lista.
Poi devi farti delle funzioni che allochino i record, che li pongano nella
lista, che li cerchino, che li tolgano ecc.
--
Alessandro Monti

 lista di elementi di questo tipo usando i puntatori?
Devi aggiungere agli elementi della struct un puntatore a se stessa e
quindi utilizzarlo per collegare gli elementi tra di loro. Comunque
vedrai che ti arrivano degli esempi completi...
EMG


Qualcosa del tipo
 struct lista{char *nome;
	      char *cognome;	 
              struct  lista *listp; };
dovrebbe fare al caso tuo
  |->|nome|cognome|puntatore a stesso tipo di dato)
  |                             ^^^                                
  |------------------------------| 
Vi][oZ
-- 
Per rispondere togliere NONSCASSA da reply-to.

lista di elementi di questo tipo usando i puntatori?
Un esempio di creazione di una lista doppia e' il seguente, se hai
bisogno di chiarimenti fai pure :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define poni_in_lista(p,x) (inserisci(&(p), NULL, (x)))
typedef enum { NORMALE, INVERTITO } modo_scrittura ;
typedef struct _item {
                        char * string ;
                        struct _item * next ;
                        struct _item * prev ;
                     } * item_p ;
void inserisci( item_p * p, item_p prev, const char * s )
{
     item_p t ;
     if ( NULL == *p )
     {
        *p = malloc( sizeof **p ) ;
        (*p)->prev = prev ;
        (*p)->next = NULL ;
        (*p)->string = malloc( strlen( s ) + 1 ) ;
        strcpy( (*p)->string, s ) ;
     }
     else inserisci( &(*p)->next, (*p), s ) ;
}
void scrivi ( item_p p, modo_scrittura m )
{
     item_p cursor = p ;
     int i = 0 ;
     if (( m == INVERTITO ) && ( cursor != NULL ))
     {
        while ( cursor->next != NULL )
              cursor = cursor->next ;
     }
     while ( cursor != NULL )
     {
           printf( "%2d) %s\n", i++, cursor->string ) ;
           cursor = ( m == NORMALE ) ? cursor->next : cursor->prev ;
     }
}
main()
{
    item_p Head = NULL ;
    puts( "\n" ) ;
    poni_in_lista( Head, "cobol" ) ;
    poni_in_lista( Head, "basic" ) ;
    poni_in_lista( Head, "ada" ) ;
    poni_in_lista( Head, "pascal" ) ;
    poni_in_lista( Head, "fortran" ) ;
    poni_in_lista( Head, "c/c++" ) ;
    puts("\nDal primo all\'ultimo" ) ;
    scrivi( Head, NORMALE ) ;
    puts( "\nDall\'ultimo al primo" ) ;
    scrivi( Head, INVERTITO ) ;
}
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
Newsgroup: it.comp.lang.c
Titolo: Scrivere numeri su file txt?





Ciao a tutti, vorrei chiedervi una 
cosa:


ho scritto un programma che, dopo alcune operazioni 
sui dati inseriti, fornisce in uscita una lunga serie di numeri che avrei 
bisogno di importare in Excel.


Ho pensato di "stamparli" su un file di testo (ad 
esempio un .txt) che poi potrei aprire con Excel.


Qualcuno mi sa dire come posso fare?


Grazie.


Ciao.


 



 ha 
  scritto nel messaggio 
news:000801c0c5fc$c6589b20$292ad5d5@scalamaurizio
...

Un esempio : 


 


#include <stdio.h>


 


main()


{


    int n;


    FILE* fs;


    char filename[] = 
  "pippo.txt";


    fs = fopen(filename, 
  "at");


    n = 4;


    fprintf(fs, "%d  ", 
  n);


    n = 5;


    fprintf(fs, "%d", 
  n);


    fclose(fs);


    
return 0;


}


 


OUTPUT sul file pippo.txt


3  4

Newsgroup: it.comp.lang.c
Titolo: sbaglio io o sbaglia il compilatore?

Temo di conoscere già la risposta...
ecco il codice:
char file_name[1024];
[..snip..]
memset(file_name, 0, 1024);
sprintf(file_name,"/home/g4b0/%s/%d.txt",dir,time());
printf("Directory: FATTO [%s] time [%d]\n", file_name,time());
[..snip..]
ecco l'output:
Directory: FATTO [UFe/g4b0/test/1175868695.txt] time [1175868695]
Com'è possibile? O è solo frutto del fatto che siamo arrivati a
venerdì pomeriggio?
g4b0

Risolto!! Indovinate un po' chi sbagliava?
per usare time() bisogna fare così:
time_t t;
time(&t);
ed ora in t c'è il numero di secondi dalla UNIX epoch, senza far
arrabbiare gcc
g4b0

 printf("Directory: FATTO [%s] time [%d]\n", file_name,time());
Il prototipo di time è
time_t time(time_t *t)
quindi non stai includendo time.h (e stai ignorando un warning),
altrimenti avresti un errore in compilazione. Come argomento di time
puoi anche passare NULL.
Luca
-- 
"New processes are created by other processes, just like new
 humans. New humans are created by other humans, of course,
 not by processes." -- Unix System Administration Handbook

Newsgroup: it.comp.lang.c
Titolo: Cerco manuale C

Ciao,
sto cercando un manuale C chiaro e il + completo possibile.
Mi potete aiutare?

www.programmazione.it
Dai un'occhiata.
Lawrence Oluyede
rhy...@tiscalinet.it
"Se ti credono rozzo,
  fai il raffinato;
se ti credono raffinato,
  mostrati rozzo."
Johnny Mnemonic


Purtroppo al momento non posso utilizzare internet quindi cercavo un manuale
vero e proprio e già stampato:-))
Grazie comunque!
Simo <simona....@NOSPAMcgi.it> wrote in message
8m929v$46nq$1...@stargate1.inet.it...


Oh, scusami.
Io ho imparato il C leggendo il libro:
Linguaggio C 2^ Edizione
Brian W. Kernighan
Dennis M. Ritchie
Jackson Libri
L. 46000
E' la bibbia del C.
Lawrence Oluyede
rhy...@tiscalinet.it
"Se ti credono rozzo,
  fai il raffinato;
se ti credono raffinato,
  mostrati rozzo."
Johnny Mnemonic

Newsgroup: it.comp.lang.c
Titolo: Grafi??

Sto cercando un po' di materiale sui grafi:descrizione della struttura e
gli algoritmi piu' importanti :potete aiutarmi?.Grazie.Bettina.
--------------------------------
Inviato via 
http://usenet.iol.it

 gli algoritmi piu' importanti :potete aiutarmi?.Grazie.Bettina.
Grafi di che genere? Grafica, teoria dei grafi?
Presumo teoria dei grafi:
www.google.com/search?q=%22teoria+dei+grafi%22+struttura+dati+algoritmi
cerca anche Sedgewick (libro algorithms) o guarda i suoi slide:
www.cs.princeton.edu/~rs/cs226/lectures/17graph.pdf
Tanti link (tutto in inglese, ma esaustivo):
http://people.freenet.de/Emden-Weinert/graphs.html
Lezioni online: 
www.utc.edu/~cpmawata/petersen/
HTH
Jurgen
Newsgroup: it.comp.lang.c
Titolo: Timeout con le socket...

Dunque, io ho fatto un programma (funziona solo su ambienti Unix, visto che
usa l'header <sys/socket.h>) che controlla lo stato di un host su una
determinata porta.
Io mando come argomenti al programma il nome dell'host e il numero della
porta, e il programma mi ritorna una frase del tipo "l'host è online" oppure
"l'host è offline".
Per esempio se il mio programma si chiama "controlla_host" e se digito:
/home/piero/controlla_host localhost 21
Lui mi ritorna come output "L'host è online", in quanto ho un server FTP
attivo in quel momento.
Ma se digito un host o un IP preso a caso, il programma invece di ritornarmi
"l'host è offline", non mi ritorna niente. Penso che bisognerebbe settare
correttamente il timeout della socket, ma non ho trovato niente al riguardo
con google...
Riporto la funzione che uso per controllare lo stato dell'host...
Dove target è un host e port un numero di porta.
int get_tcp(int port, char *target){
 struct sockaddr_in client;
 struct hostent *hostinfo;
 int sock;
 if ((sock=socket(AF_INET, SOCK_STREAM, 0))==-1){
  printf("Error when trying to load the socket.\n");
 }else {
  client.sin_family=AF_INET;
  hostinfo=gethostbyname(target);
  client.sin_addr=*((struct in_addr *) hostinfo->h_addr);
  client.sin_port=htons(port);
  if (connect(sock,(struct sockaddr*) &client, sizeof(client))==0)
printf("L'host è online!");
 }
 close (sock);
 return 1;
}
Grazia in anticipo per qualsiasi aiuto.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 usa l'header <sys/socket.h>)
Dato che non si tratta di codice standard, dovresti rivolgerti ad un 
newsgroup relativo al tuo sistema (ad esempio it.comp.os.linux.development).
Newsgroup: it.comp.lang.c
Titolo: Documentazione librerie

Ciao,
	Sono agli inizi e sto impazzendo a cercare in rete dei testi che
elencano, con un minimo di descrizione, le varie funzioni delle
librerie standard di C, sapete consigliarmi qualche sito ?
-- remove "UN.NECESSARY" from the address to reply
msg 100% recyclable.

msgid,
msgid wrote:
     Sono agli inizi e sto impazzendo a cercare in rete dei testi che
elencano, con un minimo di descrizione, le varie funzioni delle
librerie standard di C, sapete consigliarmi qualche sito ?
   Per soli 18 USD (al cambio attuale, circa 40 KLit.), puoi ottenere 
dal sito dell'ANSI lo standard C99 in formato PDF: esso contiene molto 
piu` di quanto tu potresti sperare di trovare.
 
http://www.ansi.org
   Alternativamente, Google e` sicuramente un ottimo inizio: per 
esempio, senza alcuna verifica dell'esattezza del contenuto, mi sono 
occorsi appena sette secondi per trovare
 
http://www.infosys.utas.edu.au/info/documentation/C/CStdLib.html
-- 
Alla prossima,
Marco

 librerie standard di C, sapete consigliarmi qualche sito ?
Standard C99:
http://www.dinkumware.com/htm_cl/
Ciao, 
Cecco

 piu` di quanto tu potresti sperare di trovare.
Ah,  il malefico  webstore  ;)  Segnalo a  tutti  che,  per la  versione
scaricabile,  bisogna cercare  il  documento 9899-1999. 9899:1999  porta
inesorabilmente alla versione cartacea da 500KLit.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"New processes are created by other processes, just like new
 humans. New humans are created by other humans, of course,
 not by processes." -- Unix System Administration Handbook

Newsgroup: it.comp.lang.c
Titolo: [RISULTATO] it.comp.lang.assembly approvato


iQA/AwUBPQj4CuRPfmnmiMfjEQKXtgCfYUnKO16j1KzLMhKdgHyXu4tpPP4AoJ0D
6zTQEo962S3j81tqN0C0FlJC
=J0eU
-----END PGP SIGNATURE-----
-- 
RSA fingerprint: ABB5 6DA7 C3F5 F9E7  EEE4 7FD2 32FE B16D
DH/DSS   "     : BAA6 9BAD E0CB 894B 2E41  4519 E44F 7E69 E688 C7E3
PGP public key available on keyservers

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il numero dei voti favorevoli e validi pervenuti fino ad ora è superiore
ai 100 richiesti, a giudizio del GCN.
Pertanto la votazione per il newsgroup in oggetto viene interrotta, e il
gruppo it.comp.lang.assembly viene approvato.

+--------------------------------------------------------------

+--------------------------------------------------------------





iQA/AwUBPQj7lORPfmnmiMfjEQKkiQCggyWNntNonjoQLOrl15nVV+XBEnkAoJJe
wDyYyJo/hA6MrEL/CWL5IIUS
=46OL


Newsgroup: it.comp.lang.c
Titolo: il blog di lory

Il Blog di Lory Meyers s'è trasferito.
è il caso di aggiornare il sito di cazzeggio??
Ciccio Provvedi a contattarla ^^'
ps: il nuovo blog IMHO è veramente carino ;-)

Acccipicchiaaa!!!
Scusate!!!
Sbagliato ng!!!!! :-(((
Newsgroup: it.comp.lang.c
Titolo: Alloc,malloc,free

Ma queste funzioni in quale libreria sono?
alloc.h o stlib.h?

č uguale...
ma che compilatore usi??
col borland se premi Ctrl-F1 su una funzione ti da' l'help...

 ma che compilatore usi??
Ho il borland C... ma so che non rispetta gli standard.... Ora sto
utilizzando DevC++... che se non sbaglia si basa sul gcc.

 alloc.h o stlib.h?
Un consiglio: vai in libreria subito e ordina una copia di:
    Kernighan, Ritchie
    "Linguaggio C - ANSI C"
    Ed Jackons
Poi vai a questo URL:
 
http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html
E apporta le dovute correzioni al libro (dovute al fatto che e' uscito prima
che lo standard ISO C89 fosse approvato).
Per la cronaca, alloc.h non e' un header standard, come puoi vedere dal link
che ti ho postato nell'altro thread.
stdlib.h e' una sorta di raccoglitore per tutti i prototipi delle funzioni
che non sono state raccolte altrimenti in un header specifico. E' facile
data una funzione capire dove si trova, basta che ti ricordi i nomi dei
principali file di header (ctype, limits, stdio, string, limits, math)... e
la funzione riguarda uno di quei topic la trovi li dentro, se no in
stdlib.h, come detto piu' sopra.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 alloc.h o stlib.h?
La funzione alloc() non è definita in ANSI C.
Per le altre due, lo standard dice di #includere <stdlib.h>.

> Ho il borland C... ma so che non rispetta gli standard.... Ora sto
Chi te lo ha detto che non rispetta lo standard?!?
Il compilatore della Microsoft non lo fa, ma se c'è uno che lo ha sempre
fatto, quello è la borland; certo non rispetta lo standard C++ del 1998, ma
nessun compilatore prima di questa data lo rispettava.
--------------------------------
Inviato via 
http://usenet.libero.it
Newsgroup: it.comp.lang.c
Titolo: Puntatore a struttura

Ragazzi se ho un puntatore a struttura , ad esempio struct agenda *p,
per vedere se p vale NULL è corretta questa istruzione ?
if(p)
{
  ....
}





 if(p)
Certo che è corretta...ma lo sarebbe meglio se fosse:
if (p != NULL)
che da maggior chiarezza al codice.

 
Si, ma cosě entri nel blocco dell'if solo se p č diverso da NULL (o da 
zero visto che NULL č una macro).

A me deve entrare nel blocco solo se è NULL ! è corretta la sintassi
if(f){ } con f= NULL ?

 if(f){ } con f= NULL ?
ragiona... l'esecuzione del codice in C entra nel blocco che segue l'if
solo se la condizione risulta diversa da zero (oppure diversa da NULL, che
è la stessa cosa), altrimenti entra nell'eventuale blocco else; quindi...?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Dunque tu devi considerare che in C, come in C++, il valore false è 
rappresentato dal valore 0, mentre il valore true è rappresentato dal 
valore 1. Devi considerare, inoltre, che più in generale viene 
considerato true tutti i valori numerici diversi da 0 (quindi anche i 
numeri negativi).
Detto questo se tu hai un puntatore del tipo:
#define NULL 0
char *p = NULL;
if(p){
  // Non entra perchè p = NULL = 0 = false
}
if(!p){
    // Entra perchè !p = !0 = 1 = true
}
Newsgroup: it.comp.lang.c
Titolo: zippare i file di una cartella

In un mio praogramma (sotto lLinux) mi servirebbe di zippare
i file contenuti in una cartella.
Ammesso che già mi trovi nella cartella corrente e che i file di questa
cartella
si chiamino 1.mis, 2.mis, 3.mis, etc...
mi servirebbe una mano per scrivere il codice che mi permetta di avere una
file .zip
con dentro questi file.
Sono arrivato a lpunto di creare il figlio del processo ma non so andare
avanti...
qualcuno può darmi una mano?
Grazie


Considerando che sotto linux il programma "zip" c'e'.
(Almeno sotto Debian, presumo che tu lo possa installare anche
nella tua distribuzione.) allora se non hai esigenze
particolari basta
che generi una stringa che contiene l'invocazione del comando
e la fai eseguire con la funzione system() di <stdlib.h>
tipo system("/usr/bin/zip ciccio.zip 1.mis 2.mis 3.mis");
o system(comando);
dove hai creato la stringa comando con una sprintf o strcat,
etc.etc.
O visto che sei sotto linux potresti usare un tar gzippato:
"/bin/tar czf ciccio.tgz *.mis"
o qualcosa di simile, sempre invocandolo con system.
ciao.
g.

 e la fai eseguire con la funzione system() di <stdlib.h>
ti ringrazio, ma una delle esigenze è che non posso usare la system();
per questo sono costretto a ripiegare sulla exec() nelle sue varie forme.
Personalmente avevo pensato alla execvp() che vuole un vettore contenente
il comando e i parametri.
Questo in sostanza è il codice che ho scritto... path è la cartella dove ci
sono i file
void prendi(char *path)
{
    int res;
    char **vett;
    char *zipcomm = "zip tmp *";
    utente[strlen(utente)-1] = '\0';
    IFERROR(res = fork(), Errore nella fork dello zip\n");
    if (res = 0)
    {
        vett = split_arg(zipcomm, " ",&i);
        execvp(vett[0], vett);
    }
    else
        wait(&status);
}


Architecture: i386
Source: zlib
Version: 1:1.1.4-1
Provides: libz-dev
Depends: zlib1g (= 1:1.1.4-1), libc6-dev
Conflicts: zlib1-dev
Filename: pool/main/z/zlib/zlib1g-dev_1.1.4-1_i386.deb
Size: 218002
MD5Sum: 906237416af612655bcda57bbe1129e9
Description: compression library - development
 zlib is a library implementing the deflate compression method found
 in gzip and PKZIP.  This package includes the development support
 files.
Happy coding

Newsgroup: it.comp.lang.c
Titolo: Copiare vettori di stringhe..

Ciao,
Esiste una funzione simile alla strcpy che permetta di copiare il contenuto
di un vettore di stringhe (char **MioVettore) in un'altra variabile
identica?
N.B. Vorrei copiare il contenuto e non gli indirizzi.
Grazie

 ha scritto nel messaggio
news:3c4c1f48$1...@news.cis.it...

Guarda memcpy..
  Copies a block of n bytes from src to dest
  Declaration:
   ? void *memccpy(void *dest, const void *src, int c, size_t n);
   ? void *memcpy (void *dest, const void *src, size_t n);
   ? void *memmove(void *dest, const void *src, size_t n);
   ? void far * far _fmemccpy(void far *dest, const void far *src,
       int c, size_t n);
   ? void far * far _fmemcpy (void far *dest, const void far *src,
       size_t n);
  Remarks:
 Each of these functions copies a block of n bytes from src to dest.
Ciao
--
Timothy Redaelli
Newsgroup: it.comp.lang.c
Titolo: visina in ordine

Salve a tutti. E' la prima volta che posto anche se leggo spesso questo
newsgroup.
Dovrei fare una funzione che visita un albero binario, che contiene interi,
visualizzandone il contenuto in ordine crescente, pero' senza funzioni
ricorsive.
Qualcuno di voi ha mai fatto qualcosa di simile? Vi ringrazio
anticipatamente.
euterpex

 ha scritto nel messaggio
news:oIVi6.13176$LM4.1...@twister1.tin.it...


 che gestiscono lo stack rapportando tutto a come rappresenti l'albero.
consiglio alternativo: puoi usare una lista LIFO di puntatori a nodi 
per lo stack.

 ha scritto nel messaggio
news:oIVi6.13176$LM4.1...@twister1.tin.it...


Newsgroup: it.comp.lang.c
Titolo: Vuoi lavorare all'Estero?

SE
Parli una lingua straniera in maniera fluente o quasi;
Ti senti forte in qualche area dell'Information Technology;
Desideri lavorare all'estero (per alcuni mesi o per sempre);
                                                                ALLORA
Invia un'email in cui indichi (in parole chiave) i tuoi skill o le tue
esperienze (Es: Help Desk,  SysAdmin,  C, C++, Visul Basic, PL/SQL,
Mapping o quant'altro).
Puoi, eventualmente, specificare la città in cui desideri lavorare.
Sarai ricontattato senz'altro nel caso un'azienda estera stia cercando
qualcuno con le tue caratteristiche.
                                                        (Non inviare CV,
grazie)
IT-Recruitment
itrecr...@katamail.com
--
Posted from 
ro...@dns.internetcafe.it
 [194.247.169.66]
via Mailgate.ORG Server - 
http://www.mailgate.org

Mi è parso di capire che questi messaggi sono OT, ma visto che ce n'è gia
uno, ne approfitto per informare quanti potrebbero essere interessati che MS
sta cercando in Italia programmatori C, C++ e Java da assumere a tempo pieno
nella sede di Redmond.
Invece di annoiarvi oltre, ho messo il bando e quant'altro ho potuto
ricavare, postando direttamente con la recruiter, sul mio sito.
Penso sia una cosa seria, mi ha anche telefonato dagli USA per farmi delle
domande!
Mi scusino invece quanti non dovessero essere interessati.
--
Alessandro Monti
http://digilander.iol.it/nonlibero/

]

 e la zona di Seattle in genere e' un posto fantastico)
C'era l'indirizzo del mio sito, in fondo (come anche ora). Dalla pagina
principale c'è il link diretto (non che ci sia molta altra roba nel mio sito
:) ).
Ho solo dei dubbi che sia raggiungibile il file, che nel nome contiene degli
spazi, semmai scrivetemi in E-mail e te lo spedisco.
Per M$, io sapevo che pagavano bene, e spero che sia ancora così. So anche
che devi lavorare 14 ore al dì se speri di durare :-(
Comunque mi sembra una buona opportunità, e Redmond sembra davvero in una
zona carina. Mi sono collegato al sito della città e gli ho dato un'occhiata
:-)
Non ho trovato solo le temperature medie per stagione, mi sa che è
freschino...

Newsgroup: it.comp.lang.c
Titolo: successive compilazioni dopo un -Segmentation fault-

ma dopo un errore del genere č normale che le successive compilazioni e 
modifiche siano come ignorate?
ciao, grazie.

 modifiche siano come ignorate?
No probabilmente ti sfugge qualcosa!
Ph.

 No probabilmente ti sfugge qualcosa!
su un altro thread hanno parlato di stack corruption.
e un altro ha accennato al fatto che l'errore si verifica nella cache della 
cpu e interrompa prima...ma in winzoz non mi era mai successo.
Ho incominciato ora a lavorare in linux con g++ e kdevelop.
Non posso riesco a fare il debug tramite gui e in commandline non mi ispira 
per niente, preferisco fare delle printf, ma questo problema rende 
impossibile anche usare le printf...

Newsgroup: it.comp.lang.c
Titolo: Altre due cose

Io ho Turbo C++ V1.01 che mi crea alla grande sia codice .asm che sia
file .obj ma non riesco dal file .obj a farmi restituire  il file .bin
come faccio? mi da errore dicendo che non è il formato valido...
---
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAIL: 
razzi...@usa.net
WEB   : 
razziatore.dsx.org
ICQ   : 67552596

 ha scritto nel messaggio
news:3aaa5e1f.2326100@pws...

i file *.bin non sono eseguibili sotto windows o dos. Che SO utilizzi?
Newsgroup: it.comp.lang.c
Titolo: Ma il Borland  C++...

E' utilizzabile anche per il C?
Perchč sul sito non esiste niente per C che abbia visto.
Scusate per la domanda banale!
coals

 E' utilizzabile anche per il C?
Generalmente, qualsiasi compilatore C++ č in grado di compilare il codice
C.
In genere il compilatore attiva una modalitą di compilazione o l'altra
basandosi sull'estensione del file.
Perché proprio il Borland C++? Hai provato il gcc?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

> Perché proprio il Borland C++? Hai provato il gcc?
no sto agli inizi me lo consigli?
ho installato llc per windows.
grazie
coals 

 ho installato llc per windows.
http://www.codeblocks.org/


 coals
Io utilizzo MinGW sotto windows ed eclipse (dal momento che programmo
anche in java), sotto linux gcc ce l'ho gia' quindi solo eclipse.

Newsgroup: it.comp.lang.c
Titolo: tabella di puntatori a tabelle di int...

ho una serie di tabelle di int, ognuna di lunghezza diversa, terminanti 
tutte con un intero 0...
e vorrei avere una tabella di puntatori a tabelle di int, terminante con un 
puntatore NULL, cosi' posso scorreree quest'ultima e poi passare ai 
contenuti di ogni tabella 'secondaruia'.... proprio non so se mi sono 
spiegato...
io pensavo ad una cosa cosi'
int t1[] = { 1, 2, 3, 0 };
int t2[] = { 10, 20, 30, 0};
pero' dichiarate dentro ad una tabella di puntatori... quindi pensavo di 
fare cosi'...
int *TP[] =
{
    int t1[] = { 1, 2, 3, 0 },
    int t2[] = { 10, 20, 30, 0},
    NULL
}
o una cosa del genere (infatti questo sistema non funziona)
qualcuno mi sa aiutare con la definizione corretta? 

"toni" ha scritto

Cosě dovrebbe funzionare.
int t1[] = { 1, 2, 3, 0 };
int t2[] = { 10, 20, 30, 0};
int *TP[] =
{
    t1,
    t2,
    NULL
}
Newsgroup: it.comp.lang.c
Titolo: Problema dimensione files in msvc 1.5 per dos

Sto facendo un programma per palmari symbol in dos.
Da quando ho aggiunto le funzionalità radio il programma sembra eccedere in
dimensioni.
Mi sono ammazzato a dividere il programma in + moduli c dichiarando le
funzioni in .h con extern, ma la situazione non cambia, qualcuno sa
indirizzarmi in qualche modo?
Sapete se con djgpp puo' cambiare qualcosa?
Grazie in anticipo
Luther
Compiling...
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\radiomod.c
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\radiomod.c(171) : warning C4700: local
variable 'lunghezza' used without having been initialized
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\radiomod.c(171) : warning C4700: local
variable 'sStringa' used without having been initialized
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c(333) : warning C4040: memory
attribute on 'iGiorno' ignored
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c(334) : warning C4040: memory
attribute on 'iMese' ignored
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c(335) : warning C4040: memory
attribute on 'iAnno' ignored
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c(336) : warning C4040: memory
attribute on 'iSecolo' ignored
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c(337) : warning C4040: memory
attribute on 'iGSett' ignored
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c(339) : warning C4040: memory
attribute on 'iOra' ignored
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c(340) : warning C4040: memory
attribute on 'iMin' ignored
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\pdt_func.c(341) : warning C4040: memory
attribute on 'iSec' ignored
c:\itrvfp\lefdep~1\vc1_pdt\itrpdt\menu1621.c
Linking...
c:\3000\vlib\slibce.lib(resize.asm) : error L1070: _TEXT : segment size
exceeds 64K
c:\3000\vlib\slibce.lib(resize.asm) : warning L4020: _TEXT : code-segment
size exceeds 64K-36
LINK : fatal error L1071: segment _TEXT exceeds 64K-16
 LINK returned error code 2.
Creating browser database...
ITRPDT.EXE - 2 error(s), 11 warning(s)

 Sapete se con djgpp puo' cambiare qualcosa?
Detta cosi', se il codice del tuo programma supera i 64kb, li supera e 
bona, non e' che risolvi dividendo il programma in piu' moduli (cosa che 
cmq sarebbe buona norma fare...).
E cmq, su questo ng sei OT :)
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://www.cs.unibo.it/~mbellett
Linux registered user 299762 @ Linux registered machine 213003

 E cmq, su questo ng sei OT :)
????
/

 ha scritto nel messaggio
news:1v8Hc.7280$tj3.3...@news3.tin.it...
Ho risolto ho cambiato il memory model da small a medium
/

 ????
Leggiti il manifesto del gruppo, al posto di scrivere punti interrogativi :P

Newsgroup: it.comp.lang.c
Titolo: Operatori bit a bit

Salve a tutti.
Qualcuno mi saprebbe indicare come si possono implementare le 4 operazioni
fondamentali (+, -, x e /) con gli operatori bit a bit (&, |, <<, >>, ~)?
Io ci ho provato, ma non ci sono riuscito.

,

La somma di interi in rappresentazione binaria puo' essere fatta
bit a bit considerando che per ciascuna coppia di bit da sommare
occorre definire una funzione che prende tre ingressi e da due uscite
F_1(0,0,0)=0 (risultato) F_2(0,0,0)=0 (nuovo riporto)
F_1(0,0,1)=1 (risultato) F_2(0,0,1)=0 (nuovo riporto)
F_1(0,1,0)=1 (risultato) F_2(0,1,0)=0 (nuovo riporto)
F_1(0,1,1)=0 (risultato) F_2(0,1,1)=1 (nuovo riporto)
F_1(1,0,0)=1 (risultato) F_2(1,0,0)=0 (nuovo riporto)
F_1(1,0,1)=0 (risultato) F_2(1,0,1)=1 (nuovo riporto)
F_1(1,1,0)=0 (risultato) F_2(1,1,0)=1 (nuovo riporto)
F_1(1,1,1)=1 (risultato) F_2(1,1,1)=1 (nuovo riporto)
ed applicarla in modo che
result(n)=F_1(F_2(n-1,n-1,n-1),n,n)
report(n)=F_2(n,n,n)
dove F_2(-1,-1,-1)=0
Un po' di algrbra booleana porta al risultato per la somma e
differenza.
Per la moltiplicazione si puo' fare una catena di shift per ciascun
bit del moltiplicatore diferso da zero and add.
--== Sent via Deja.com 
http://www.deja.com/
 ==--
---Share what you know. Learn what you don't.---

Io ci ho provato, ma non ci sono riuscito.
se devi moltiplicare o dividere per potenze di 2 puoi usare << e >>.
Per + e - non si puň, a meno di usare piů di una operazione.

bit del moltiplicatore diferso da zero and add.
Perň, non immaginavo che fosse un procedimento cosě lungo! Ma implementare
tutto questo (allora mi domando) č piů conveniente (leggi piů veloce) che
usare semplicemente + - * e / ?


 >
Ed io ho raccontato solo dell'implementazione di un sommatore
bit-a-bit che opera in tempo linerare nel numero dei bit.
Ho trascurato delle implementazioni parallele che operano in tempo
logaritmico nel numero dei bit.
Lascia queste considerazioni a chi progetta circuiti hardware per
la somma e la moltiplicazione (che pure puo' essere fatta un po'
piu' in fretta di come l'ho descritta).
Di solito si usano ooperazioni bit-a-bit per implementare la somma
su 64 bit in architetture a 32, ma anche in questo caso si guarda
al riporto  sulla singola parola e non sui singoli bit.

Newsgroup: it.comp.lang.c
Titolo: Visual C++ 5.0

in Visual C++ 5.0 inserendo la seguente dichiarazione:
#define NULL 0;
il compilatore non me lo riconosce e mi da una serie di errori,
devo quindi sostituire tutti i NULL presenti nel prg, con
degli 0!!, sapete niente??
Grazie e ciao.
Roberto
---------------------------------------------------------------------------
 Roberto
 Dipartimento di Scienze dell'Informazione
 dell'Universita` di Ca' Foscari Venezia.
---------------------------------------------------------------------------
Il mondo si divide in 10 tipi di persone: quelle che capiscono il codice
binario e quelle che non lo capiscono.

 Roberto
Puo' essere che sia gia' definito...
per prima cosa non ti serve il ' ; ' dopo lo 0 e poi prova a scrivere:
#undef NULL
#define NULL 0
Se continua a darti problemi puo' essere che il problema sia un altro e
allora riscrivi su questo NG......
Ad ogni modo NULL, secondo lo standard C e' una macro definita in piu'
headers tra cui stdio.h, quindi forse non hai bisogno di tutto questo
meccanismo... Inoltre dichiarare NULL come 0 puo' dare problemi visto che e'
normalmente dichiarata come (void*)0.
Tommy

 ha scritto nel messaggio
news:b1r90r$25i$1...@venus.btinternet.com...

Newsgroup: it.comp.lang.c
Titolo: conteggio di un catalogo

Ciao a tutti,
ho un problema con la lettura di un array. Ho un catalogo di 4 colonne e n
righe (a priori non so quanto valga n). Lo leggo (conto quanto vale n) e poi
alloco le variabili dinamicamente (uso calloc).
Se n e' pari il programma funziona e gira senza dare problemi, ma se n e'
dispari, subito dopo il messaggio "Ci sono %d righe nel mio catalogo\n" ho
un segmentation fault dal mio compilatore (uso linux redhat)
Quello che segue e' il ciclo che uso per il conteggio del numero di righe
nel mio catalogo. Ho segnato dove il programma si pianta. Quale puo' essere
la causa?
Grazie mille!
/* apertura file */
FILE *fp;
fp = fopen("catalog.dat", "r");
/* verifica apertura */
if (fp == NULL)
   {
    perror("Ooops, error!\n");
    exit(1);
    }
/* conteggio */
   n=0;
   while(1){
            res=fscanf(fp, "%f %f %f %f\n", &x, &x, &x, &x);
            if(res==EOF)
               break;
            else
               n++;
            }
   printf("Ci sono %d righe nel mio catalogo\n", n);
   // *****DOPO QUESTO MESSAGIO SI PIANTA*****
   /* chiusura */
   fclose(fp);
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio
news:130Z232Z73Z49Y1...@usenet.libero.it...

bhe.. oddio... queste ultime 5 righe potresti scriverle un po' meglio
prova con
n=0;
while (fgets(ciao,MAXL,fp)) n++;
ciao allocala come char ciao [MAXL];
secondo me ora potrebbe quasi fungere..
penso che l'errore derivasse dalla fscanf..
non so bene se abbia un buon comportamento nel modo in cui usata tu..
non sono sicurissimo neanche dell'EOF a dirti la veirtà.. ma al momento non
ricordo bene ..
cmq prova con le due righe che ti ho scritto dovrebbe andare un po' meglio
ciao

Usi EOF per verificare se sei arrivato alla fine del file?
Non sarebbe meglio while(!(feof(miofile))) ?
EOF se nn erro viene dato anche in caso di errore, nn solo se raggiungi la
fine del file.

   fclose(fp);
   Alquanto strano. Metti modifica il codice cosi`:
   printf("Ci sono %d righe nel mio catalogo\n", n);
   fclose(fp);
   printf("Check\n");
   se vedi anche il secondo output, come sospetto, la causa del
segmentation fault e` posteriore (nel malloc?).
-- 
S.L.

 un segmentation fault dal mio compilatore (uso linux redhat)
ops... non avevo letto questo pezzo.. occhio allora alla calloc...
Newsgroup: it.comp.lang.c
Titolo: AIUTO URGENTE!!!

Dovrei modificare l'autoexec.bat per far girare l'ambiente di programmazione
Djggp, solo che WinXp non lo trova!!! Avevo pensato di editarlo con il caro
blocco note ma il file non lo trovo da nessuna parte.
Vi prego, ho un esame che mi attende!!!

 blocco note ma il file non lo trovo da nessuna parte.
sei moltissimo OT... non so a che ti serve cambiare l'autoexe.bat per far
funzionare Dj...
probabilmente cambia solo il path.. e nn serve a molto..
cmq l'autoexec.bat e nella directory di avvio di win, ma è un file nascosto
prova ad andare su start -> esegui -> sysedit
ciao

Se vuoi inserire delle dichiarazioni o cambiare il path, non devi modificare
l'autoexec.bat (che in Xp non penso ci sia neanche) ma andare sotto pannello
di controllo->sistema->avanzate->variabili d'ambiente e inserire li quello
che ti serve.
Ciao
Giuseppe
"FRaNCeSCo" <?@?.?> ha scritto nel messaggio
news:N9Qzb.50606$AX1.2...@news1.tin.it...


ops... il mio vecchio dos, l'hanno buttato via...!

 Vi prego, ho un esame che mi attende!!!
in bocca al lupo per l'esame. (e ... la risposta ti e' gia' stata data).

Newsgroup: it.comp.lang.c
Titolo: Sbaglio compilatore ?

scusate ragazzi ma mi è tornata la passione per il C...
io scrivo da poco(e sempre e solo per l'università) in C++,e a meno di 
creare progetti e casini varii non riesco a compilare un banale file...anche 
se scritto in C !
cioè anche se voglio fare il classico
printf("Hello,world") !!!
quindi in realtà ogni volta che voglio provare un file dovrei aprire un 
nuovo progetto, creare la soluzione generare eccecceccecc e mi passa la 
voglia...
ora mi viene il dubbio...non è che sbaglio io qualcosa (tipo il compilatore, 
io uso Visual c++ express edition) ?
grazie a chiunque voglia rispondermi
-- 
Ma tu l'hai visto il mio blog ???
http://alfaking.blogspot.com
Skype: Alfaking8
MSN: 
alfa...@hotmail.com
ICQ #145025749 

 io uso Visual c++ express edition) ?
Usare il cannone per uccidere le formiche è infatti non troppo saggio.
Forse Visual C++ ha un modo per fare più semplicemente queste piccole
app (ricordo che il wizard iniziale di Dev C++ ti chiedeva almeno se
volevi fare una applicazione di console o una a finestre, roba del
genere), ma è orientato ad altro. Dev-C++ è un buon ambiente di
sviluppo, gratuito anche, e molto più leggero. Altrimenti, usa un
semplice editor di testo, la console (cmd.exe) e installati gcc.
Saludos
Adriano

semplice editor di testo, la console (cmd.exe) e installati gcc.
ok proverň dev c++....
ci sono guide in giro per iniziare (o fondamentalmente un compilatore vale 
l'altro)? 

 l'altro)?
Il compilatore di dev-c++ è gcc, quindi cerca la documentazione di gcc
e leggi i file di aiuto di dev-c++, dovresti essere a posto. Per altre
cose, google è sempre --> qui.
Saludos
Adriano

cose, google è sempre --> qui.
Ok grazie !
Newsgroup: it.comp.lang.c
Titolo: NOTEBOOK A PREZZI INCREDIBILI!!

MITAC 7521 PLUS NUOVI E FATTURABILI:
CEL. 1000 MHZ
256 RAM
10GB HARD DISK
14.1 TFT
AUDIO STEREO 3D
USCITA S-VIDEO
CD ROM
MODEM
RETE 10/100
USBX2
INFRAROSSI
GARANZIA 1 ANNO
Ł. 2.610.000 IVA E SPEDIZIONE COMPRESA
in...@ccomputers.it

per me conviene passare ai notebook sopratutto per gente che ci lavora
molto con il PC; che ne pensate?

Che sei ot


Il pagamento quando avviene? prima o dopo la fregatura!!!

 ha scritto nel messaggio
news:9ttqb3$9re$1...@nreadb.inwind.it...


molto con il PC; che ne pensate?
un portabile dovrebbe emettere meno radiazioni di un normale PC (anche
perché consuma meno energia elettrica [tranne che il pc è schermato] )
e inoltre la frequenza di tali radiazioni dovrebbe essere piu bassa
rispetto a quelle emesse da un monitor non a cristalli liquidi

Newsgroup: it.comp.lang.c
Titolo: errore

Come mai se utilizzo la funzione sqrt, (includendo math.h), il
compilatore mi segnala il seguente errore? Premetto che i valori che
passo alla funzione sono di tipo double e l'istruzione è la seguente: 
modulo  = sqrt(x*x + y*y);  // modulo è un double
ERRORE :
cd /home/marco/
make -k alg_lin alg_lin
cc     alg_lin.c   -o alg_lin
/tmp/ccso92yv.o: In function `modulo':
/tmp/ccso92yv.o(.text+0x2b6): undefined reference to `sqrt'
collect2: ld returned 1 exit status
make: *** [alg_lin] Error 1
Compilation exited abnormally with code 2 at Wed Mar 21 12:15:09
Se scrivo sqrt(2) il programma viene compilato.
Grazie a chiunque voglia togliermi l'ennesimo dubbio.
Marco

Marco
Ciao Marco,
Qualcosa mi dice che modulo per te non e´ una variabile double ma come dice
il tuo compilatore dove ho sottolineato, per te modulo e´ una funzione.
Quindi non puoi usarla come componente sinistra di un assegnamento, ma al
suo posto devi usare un´altra variabile double:
double altra_variabile = sqrt(x*x + y*y);
Prova a cambiare il nome della tua variabile modulo cosi´ per vedere se hai
collisioni con una precedente definizione di una tua funzione modulo.
Mauro

 ha scritto nel messaggio
news:3AB88F45...@tiscalinet.it...

ERRORE :




Se Lavori sotto Linux devi linkare la libreria math in modo esplicito e.g.
gcc prog.c -o prog -lm

compilatore mi segnala il seguente errore?
Prova a linkare la libreria, con GCC qualcosa stile
	gcc -lm kernel3.0.0.c -o kernel3.0.0
dovrebbe funzionare.
-- 
                                                                  __
 __                                                          __  ///
| _          Computer Science, Swiss Federal Institute       \\\///
|__|iambo    of Technology - mailto:
ggia...@iiic.ethz.ch
     \X//