mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Utilizzo di DLL

Ciao a tutti.
E' possibile scoprire come e' composta una DLL? O meglio, da quali funzioni
e' composta, e che parametri bisogna passare?
E' una domanda pazzesca?
Ve lo chiedo perche' un software che abbiamo in ditta per stampare etichette
fa pieta'
e mi piacerebbe dargli una raddrizzata. Solo che la stampante e' dedicata e
non ha nessun tipo di driver installati, solo una Dll (penso sia quella che
la fa da padrona).
Secondo voi faccio prima a 'sbullonare la torre Eiffel e poi rimontarla' o
ho
qualche speranza.
Cordialmente
Igor Rossetti.
P.S. Come arrivano i miei Post: con gli 'a capo' tutti sballati o sono
leggibili
Scusate la forma ma sono le 01:00 :-)

 quali funzioni e' composta, e che parametri bisogna passare?
  Una soluzione molto /raw/ e` quella di visualizzarla con il /tool/
"Anteprima". Almeno potrai sapere quali funzioni inporta e da dove e
quali esporta.
	Alla prossima,
		Marco

Newsgroup: it.comp.lang.c
Titolo: virtual ~Nomeclasse    questo sconosciuto virtual

Ciao a tutti.
In un esempio ho letto il seguente codice:
class Pittosforo {
public:
	Pittosforo();
	virtual ~Pittosforo();
etc. etc.
};
Chiaramente ~Pittosforo(); è il distruttore.
Domanda: che cosa si intende per virtual ~Pittosforo(); ?
Cioè non conosco il significato di virtual.
Grazie in anticipo per ogni vostro chiarimento.

 Cioč non conosco il significato di virtual.
E' un concetto molto importante in C++, ti consiglio di cercare della 
documentazione a riguardo e studiartela per bene.
In poche parole se una funzione virtual della classe A viene ridefinita 
in una classe derivata B, allora se chiamo la funzione tramite un 
puntatore di tipo A* ad un oggetto di tipo B la funzione chiamata č 
quella definita in B e non quella definita in A.
E.

 E.
Grazie per la risposta.
Per il momento non conosco il concetto di classe derivata né quello di
specificatore d'accesso protected.
Provvederò in futuro a colmare le lacune.

Newsgroup: it.comp.lang.c
Titolo: Dubbio su include...

Ciao a  tutti,
Lavorando un po' su un progetto con piu' sorgenti c mi e' sorto un dubbio...
Come prassi ho sempre circondato gli header file con la sintassi
#ifndef QUALCOSA_H
#define QUALCOSA_H
/* varie ed evenutali ;) */
#endif  /* fine QUALCOSA_H */
Ora mi e' sorto un dubbio pero'...in questo modo evito che se per errore 
richiamo l'include del file sopra descritto mi venga inserito piu' volte 
   nello stesso sorgente C  oppure fa si' che il preprocessose includa 
il suddetto file una sola volta in tutto il progetto anche se e' includo 
in piu' di uno dei sorgenti C che lo compongono?
Grazie per il chiarimento
Aragorn


Ne l'uno ne l'altro! ;)
Il .h viene comunque incluso _in ogni_ .c che lo #include.
Mettere #ifndef .. #endif serve per fare in modo che se lo stesso .c 
finisce per includere lo stesso .h piu' volte (direttamente o attraverso 
l'inclusione di altri .h) la seconda volta sia vuoto quindi non crei 
problemi per i nomi definiti due volte.
ciao
Giacomo

 problemi per i nomi definiti due volte.
Ma porca ;) La terza soluzione e' sempre la piu' corretta ;)
Ciao e grazie
Aragorn

 Aragorn
Newsgroup: it.comp.lang.c
Titolo: help - funzione per validare una stringa

Come posso validare una stringa?
mi spiego meglio: ho una data stringa str e voglio controllare che i 
suoi caratteri siano tra quelli validi, es. dati dalla stringa 
"abcdefghilmnopqrstuvz"
Come posso impostrare una funzione che mi faccia questo?
Ringrazio in anticipo
Franco

 Come posso impostrare una funzione che mi faccia questo?
Se devi controllare che la stringa sia costituita solo da minuscole
puoi usare la funzione islower, se la stringa deve essere composta
solo da maiuscole puoi usare isupper, se deve essere composta solo
da numeri e lettere puoi usare isalnum, ecc.
Il resto delle funzioni is... le trovi in giro :-)
Se la stringa e' composta da caratteri  sparsi, un metodo semplice
e' il seguente
   int idx;
   int status = SUCCESS;
   char str[] = "stringa da controllare";
   idx = 0;
   while('\0' != str[idx] && SUCCESS == status)
   {
   // Lo switch deve contenere tutti i caratteri leciti per la stringa
      switch(str[idx])
      {
         case 'a' :
         ...
         case 'z' : break;
         default  : status = !SUCCESS:
                    break;
      }
      idx++;
   }
   if(SUCCESS == status)
   {
   // Codice da eseguire se la stringa e' corretta.
   }
   else
      return 1;
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 "abcdefghilmnopqrstuvz"
#include <stdio.h>
#include <string.h>
int validate(const char *s, const char *ok_set)
{
    for (; *s; s++)
    {
        if (!strchr(ok_set, *s))
          return 0;
    }
    return 1;
}
int main()
{
    char *it_name = "mario";
    char *us_name = "john";
    printf("%s :%c\n", it_name,
           "()"[validate(it_name, "abcdefghilmnopqrstuvz")]);
    printf("%s :%c\n", us_name,
           "()"[validate(us_name, "abcdefghilmnopqrstuvz")]);
    getchar();
    return 0;


Newsgroup: it.comp.lang.c
Titolo: typedef struct

Ciao ragazzi
Sono nuovissimo di queste parti.
Tempo fa ho fatto un corso di C , ma adesso mi sono dimenticato
completamente
tutto... Potreste gentilmente ricordarmi cosa significa quanto segue e
come potrei usarla....
Se non ricordo male TypeDef  definisce una struttura di nome
"uda_cross_fm che
possiede 3 variabili char ....
Ma come la richiamo ???
typedef struct {
        char string_uda[34];
        char value_uda[32];
        char value_fm[4];
        } uda_cross_fm;

        } uda_cross_fm;
definisisci una variabile cosi:
uda_cross_fm uda1;
e accedi ai campi della struct con la notazione puntata:
nome_struct.nome_variabile
--
Rhymes - 
rhy...@myself.com
http://www.foxhound-games.it
"Sapete cosa fa un InputStream quando
gli si racconta una barzelletta? Reader..."
Newsgroup: it.comp.lang.c
Titolo: COME DERIVO???

Ciao, ho la necessita' di riconoscere all'interno di un file binario
contenente UNSIGNED CHAR (che riesco a leggere in un buffer) eventuali
BRUSCHE VARIAZIONI di segnale, suppongo serva un bel FILTRO DERIVATORE
con una SOGLIA: chi mi puo' aiutare? Esiste una banca dati ONLINE per
ROUTINE in C???
Grazie e ringrazio in anticipo!
--
AUGUSTO!

 ROUTINE in C???
Non so se puoi trovare qualcosa di gia' fatto ma comunque un derivatore
discreto e' una cosa facile da realizzare (con un paio di
moltiplicazioni e divisioni te la cavi bene).
La cosa piu' semplice da fare e': (x[n]-x[n-1])/Tc
dove Tc e' il tempo di campionamento (se a te non interessa metti pure
1).
Se ti interessa qualcosa di piu' sofisticato prova questo:
	(y[n-1]+K*x[n]-k*u[n-1])/(1+K*Tc)
dove K e' la frequenza naturale limite dopo la quale il filtro non
deriva piu' e serve per cercare di eliminare i disturbi dalla derivata
del segnale.
Se hai ancora problemi ricontattami.
Filippo.

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

Salve!... non riesco a compilare gli esempi presenti nella libreria
libnet... ecco gli errori (sono su linux)
linux:/home/Lelio/prove # gcc -o asd libnet-example-1.c -lnet
libnet-1.c: In function `main':
libnet-1.c:10: `u_long' undeclared (first use in this function)
libnet-1.c:10: (Each undeclared identifier is reported only once
libnet-1.c:10: for each function it appears in.)
libnet-1.c:10: parse error before "src_ip"
libnet-1.c:11: `u_short' undeclared (first use in this function)
libnet-1.c:12: `u_char' undeclared (first use in this function)
libnet-1.c:12: `cp' undeclared (first use in this function)
libnet-1.c:12: `packet' undeclared (first use in this function)
libnet-1.c:18: `src_ip' undeclared (first use in this function)
libnet-1.c:19: `dst_ip' undeclared (first use in this function)
libnet-1.c:20: `src_prt' undeclared (first use in this function)
libnet-1.c:21: `dst_prt' undeclared (first use in this function)
libnet-1.c:34: `optarg' undeclared (first use in this function)
libnet-1.c:39: parse error before "atoi"
libnet-1.c:40: `LIBNET_RESOLVE' undeclared (first use in this
function)
libnet-1.c:42: `LIBNET_ERR_FATAL' undeclared (first use in this
function)
libnet-1.c:51: parse error before "atoi"
libnet-1.c:62: `EXIT_FAILURE' undeclared (first use in this function)
libnet-1.c:70: `LIBNET_IP_H' undeclared (first use in this function)
libnet-1.c:70: `LIBNET_TCP_H' undeclared (first use in this function)
libnet-1.c:84: `IPPROTO_RAW' undeclared (first use in this function)
libnet-1.c:95: `IPTOS_LOWDELAY' undeclared (first use in this
function)
libnet-1.c:99: `IPPROTO_TCP' undeclared (first use in this function)
libnet-1.c:114: `TH_SYN' undeclared (first use in this function)
libnet-1.c:137: `LN_ERR_WARNING' undeclared (first use in this
function)
libnet-1.c:158: `EXIT_SUCCESS' undeclared (first use in this function)
cosa posso fare??

 libnet-1.c:158: `EXIT_SUCCESS' undeclared (first use in this function)
Questa, ad esempio, e` in <stdlib.h>
Luca
-- 
Home: 
http://kronoz.cjb.net
"Ci sono le balle , le megaballe e le statistiche".
 Mark Twain
Newsgroup: it.comp.lang.c
Titolo: C Kernighan & Ritchie su Borland C++ 3.1

 mailto:
gar...@usa.net
 <
- >ICQ UIN# 23780140 <-

compilatore o sbaglio qualcosa ? (sono agli inizi)
Non ho mai provato a compilare un sorgente C K&R con bc++ 3.1 ma gran parte
degli header standard del compilatore (es stdio) contengono keyword non
standard che il parser del compilatore (quando fatto funzionare in modalita'
K&R) non riconosce.
Tu probabilmente hai impostato la modalita K&R perche' stai seguendo esempi
di qualche libro e per compilare con successo i tuoi file probabilmente ti
servirebbero anche gli header scritti in K&R.
Se stai facendo degli esercizi e vuoi proprio scrivere in K&R, puoi provare
a evitare di includere gli header che generano gli errori, copiando i
prototipi delle funzioni corretti (quando strettamente necessari, magari
puoi limitare i warning) o i define (es: NULL, EOS, etc) che ti servono.
Se invece devi compilare un insieme di sorgenti che producono un programma e
sei agli inizi la cosa potrebbe risultare abbastanza difficile.
Saluti.
Newsgroup: it.comp.lang.c
Titolo: Compilatore C

Avrei bisogno di un compilatore C per Windows, sapete dove posso trovarlo??
Un saluto a tutti
^PgReKo^


Lo sapresti anche tu se leggessi le FAQs del gruppo... ;-)
(link nella firma)
ciao ciao
Marco
--
Marco Coppo
University Of Sheffield
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm

 wrote in message
8h17nm$k9n$1...@bignews.shef.ac.uk...


 P:S.: la palla di cristallo ancora non ce l'ho!! :))))
Ok, non volevo essere offensivo, è solo che questa domanda è stata postata
un'infinità di volte, (frequently asked! ;-) e mi sono rotto di dire sempre
"guarda nelle faq" allora ho provato a cambiare un po' la formula....


 wrote in message
8h1efb$nfe$1...@bignews.shef.ac.uk...


 Ciao Caio
certo, anche se secondo la netiquette la prima domanda da fare in un NG è:
dove sono le FAQ?
il suddetto documento dice anche che sarebbe buona regola leggere prima i
msg nel newsgroup e poi postare. tante volte si trova la risposta alla
domanda che si vorrebbe fare... (come nel tuo caso, dove era stato chiesto
il giorno prima).
*precisazione* : non prendere questo a livello personale. ho solo colto
l'occasione per ribadire un principio che sarebbe bene che tutti seguissero.
saluti e... divertiti con il C!
ciao ciao


 wrote in message
8h3dvi$pgn$2...@bignews.shef.ac.uk...


Newsgroup: it.comp.lang.c
Titolo: [malloc,realloc,free] vs [new,delete]

Ciao a tutti,
ho un questito da porvi. Le funzion 'C' che permettono di gestire
dinamicamente la memoria danno la possibilità di riallocare un puntatore, mi
spiego meglio... se ho allocato un puntatore a 20 elementi e ad un certo
momento vorrei allocarne 10 nuovi senza cancellare i precedenti 20 allocati
basta che usi la funzione 'realloc'; in C++ utilizzando cioè l' operatore
'new' è possibile fare la stessa cosa?? o devo passare per forza attraverso
una copia temporanea del vettore ??
Grazie anticipatamente!

 ha scritto nel messaggio
news:mObxa.8046$Ny5.1...@twister2.libero.it...

Sta' a sentire, io non so una cippa di C++, pero' c'è un thread qui sotto
("Compattamento di un vettore") in cui si parla di (cito) "vettore di reali,
a dimensione variabile". Quindi probabilmente esistono.
Di + nin so.
Ciao,
Ema
Newsgroup: it.comp.lang.c
Titolo: Principiante in difficoltà

Non riesco a farlo funzionare. Cosa sbaglio?
#include <stdio.h>
char a[20];
char nemico[]="pirla";
main()
{   
 printf("Inserisci un nome: \n");
 scanf("%d", a);
 
 if (a[0]= = nemico[])
    printf("Stronzo");
      else
  printf("Ciao"); 
 
}
Grazie per l'attenzione
Simone

 ha scritto nel messaggio
news:C98A6.29626$wG3.2...@news.infostrada.it...


  if (a[0]= = nemico[])
Qui fai una cosa molto ambigua... potrebbe venir fuori di tutto, tranne
quello che vuoi di sicuro! (nel migliore dei casi scrive "Str****" a tutti i
nomi che iniziano per p). Usa strcmp cosi:
if(strcmp(a, nemico)==0)
    printf("Str....");
else printf("Ciauuuu!");

Newsgroup: it.comp.lang.c
Titolo: Database

Esiste in C la possibilita' di accedere ai database di Access usando
una libreria free da reperire in rete ?
grazie

non credo proprio...
Io ho sviluppato una libreria ke accede a db oracle con il c/c++...
Si potrebbe fare, ma non per Access è obsoleto!

--------------------------------
Inviato via 
http://usenet.libero.it

Newsgroup: it.comp.lang.c
Titolo: [?]Come posso fare...

Salve a tutti , come posso fare per riportare il cursore
indietro di una o + linee senza usare ScreenSetCursor ?
Dopo aver stampato con il solito printf("%s\n", a1); devo poter riportare
il cursore una o + righe in sù , senza l'aiuto della funzione sopra citata.
Grazie a tutti
Ciao Roberto

 funzione sopra citata.
vedo due soluzioni:
1 - lo trascini col mouse fino alla posizione desiderata
2 - chiedi in un gruppo dove non sei OT (it.comp.programmare.win32 a 
occhio e croce)

indietro di una o + linee senza usare ScreenSetCursor ?
In che ambiente?
-- 
Saluti,
    Mardy
http://castellina.org/interlingua

 In che ambiente?  WinMe +Djgpp
Ciao Roberto

 In che ambiente?  WinMe +Djgpp
it.comp.programmare.win32 (in C standard non c'è una funzione che faccia
al caso tuo).


 ha scritto nel messaggio
news:9pm8g5$s9f$5...@nreada.inwind.it...

gotoxy(wherex(),wherey()-1); ?
Newsgroup: it.comp.lang.c
Titolo: Aiuto:Pilotare una WebCam

Grazie in anticipo a chi puň aiutarmi.
Ho necessitŕ di capire come gestire, senza usare i "programmi forniti", una
webcam.
In parole semplici, dovrei dare un comando per acquisire una videata (cioč
scattare una foto) e scaricarmela sul PC.
Avrei pensato a qualche sorgente di driver ...
Il tutto io lo dovrei poi realizzare in C o VB, ma tutto a basso livello ...
Qualcuno ha una idea?
Grazie
Seven

 Il tutto io lo dovrei poi realizzare in C o VB, ma tutto a basso livello
...
Hai gia' fatto una ricerca in rete per i driver 'Twain' con google? (ad
esempio:
http://www.google.com/search?sourceid=navclient&q=Twain+video+MFC+source
)
e vai al primo link
http://www.codeproject.com/audio
J.

Newsgroup: it.comp.lang.c
Titolo: Esempio matrici

Salve a tutti, potete farmi un piccolo prog che mi spieghi come funzionino
le matrici.?
GRAZIE

 le matrici.?
<code>
	/*
	 * matrix.c -- pre-multiplies a matrix to a vector and
	 *             prints the result
	 */
	#include <stdio.h>
	double matrix[2][2]={
	  {3.14,2.76},
	  {1.25,9.54}
	};
	double vector[2]={7.24,-5.36};
	int
	main(void)
	{
	  double result[2];
	  result[0]=matrix[0][0]*vector[0]+matrix[0][1]*vector[1];
	  result[1]=matrix[1][0]*vector[0]+matrix[1][1]*vector[1];
	  printf("\nA =\n");
	  printf("  %8.4f  %8.4f\n",matrix[0][0],matrix[0][1]);
	  printf("  %8.4f  %8.4f\n",matrix[1][0],matrix[1][1]);
	  printf("\nB =\n");
   	  printf("  %8.4f  %8.4f\n",vector[0],vector[1]);
   	  printf("\nC = \n");
   	  printf("  %8.4f  %8.4f\n",result[0],result[1]);
	  return 0;
	}
</code>
-- 
Baci,
Mony
Newsgroup: it.comp.lang.c
Titolo: Qualcosa tipo il Line Input del VB!?

Mi servirebbe immagazzinare in un array tutte le linee contenute in un
file di testo, ma essendo alle prime armi col C avrei bisogno di una
mano...
Credo di dover utilizzare la funzione fgets?!?
Grazie.
               --Please also reply via E-Mail--
                      4169522043485253

 Credo di dover utilizzare la funzione fgets?!?
Si, la fgets() va bene. Prova a scrivere qualcosa e se non riesci a
farlo funzionare ti diamo una mano.
EMG


Io scrissi:
//----------------------------------
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#define MAX_LINES_FOR_FILE 1000
int LineInput(char *filename)
{
FILE *file_inp;
char *arr[MAX_LINES_FOR_FILE];
int x=0;
while (x<MAX_LINES_FOR_FILE)	// inizializzo l'array
{	// non so se serva una cosa del genere!?!
arr[x]="";
x++;
}
file_inp = fopen(filename,"r+");
	if (file_inp == NULL) {
		printf("Impossible to open %s\n",file_inp);
		return 1; 			}
for (x=0; ferror(file_inp)==0   &&  fgets(arr[x],30,file_inp); x++ )
	{
	printf("%s",arr[x]);
	}
/*a video sembra che la cosa funzioni ma in realtą se vado a
richiamare
il contenuto ad es di arr[0] o arr[3] scopro che in entrambi mi č
stata memorizzata l'ultima linea letta dal file! */
printf("%20s",arr[0]);
return 0;
}
Help me!!! Please! ;-)


 Io scrissi:
Ti sei dimenticato di allocare la memoria per le stringhe (hai allocato
solo un array di puntatori). Usa le funzioni malloc()/free() per
allocare ad ogni posizione dell'array un array di caratteri lungo a
sufficienza per contenere la stringa da leggere.
EMG

THANKSSSS!!!! ;-)


you wrote :
#Mi servirebbe immagazzinare in un array tutte le linee contenute in un
#file di testo, ma essendo alle prime armi col C avrei bisogno di una
#mano...
#Credo di dover utilizzare la funzione fgets?!?
avendo 
char s[80] ; 
FILE *fp ;
puoi utilizzare 
while ( fgets(s, sizeof s, fp) ) 
{
      ...
}
Dove fp e' il puntatore al file creato con la funzione fopen()
In s otterrai di volta in volta la stringa letta.
........................................................
.                                                      .
. Andrea Laforgia        (
andrea_...@bigfoot.com
) .
.                                                      .
........................................................
Newsgroup: it.comp.lang.c
Titolo: Dichiarazioni nei for

Salve!
Dato
#include <iostream>
//...
for(int i=0, char c='e'; i<SIZE+1; ++i)
        cout << c;
//...
g++ si rifiuta di compilare, mentre se c è intera, tutto fila liscio.
E' un comportamento conforme?
Grazie
-- 
Per l'e-mail rimouvere gli underscore e la frase in maiuscole.

 del 19:03, domenica 13 
ottobre 2002, Zero (
fiqpgc_SPAMMER_AL_...@tin.it
) scrisse:
Scusate, ho sbagliato newsgroup.


Newsgroup: it.comp.lang.c
Titolo: Quanto e` grande lo stack di un programma?

Quanto spazio assegna il Sistema Operativo per lo stack
(quell`area di memoria che il "C" usa per conservare cose come le variabili
locali e i parametri formali) di un programma?
Sotto Linux mi pare di aver capito che ad ogni nuovo processo il kernel assegna
un stack minimo fisso (circa 10Kbyte). Se il processo finisce questi primi
10Kbyte e prova a scrivere oltre la MMU (Memory Managment Unit) fa scattare una
exception e il controllo passa al kernel. Il kernel allora amplia la memoria
assegnata allo stack del processo in questione e gli restituisce il controllo
per farlo proseguire. E` vero?
Sotto DOS dove anche se presente la MMU non e` utilizzata e su AmigaDOS (m68000
senza MMU) come viene dimensionato lo stack di un nuovo programma?
E` vero che la dimensione dello stack in alcuni Sistemi Operativi e` stabbilita
dal compilatore+linker che genera l`eseguibile?
Grazie!

 
Si (DOS, Amiga)

   (NeXTmail, MIME)

...

Giusto. Intendevo dire che non e' dinamico ma stabilito staticamente (da
CLI, dal linker o anche dal programmatore, ma non si espande dinamicamente
quando superi la dimensione preallocata). Se l'applicazione richiede piu'
stack di quello previsto... sono guai (io sono rimasto al 68K senza MMU).
Non so' se esiste qualche compilatore in grado di inserire dei test nel
prologo delle routine (tipo MS VC) in modo da poter eventualmente
intervenire (se c'e' qualche cunck di memoria libera proprio sotto allo
stack allocato...)

Newsgroup: it.comp.lang.c
Titolo: Memoria video

Ciao raga. Ho installato DJGPP ma non riesco a dichiarare puntatori di tipo
far. Come posso fare per accedere alla memoria video con l'int 13h? Cioč se
voglio mettere qualcosa a A000:0000 come faccio?
E che cavolo di assembler č quello che si usa con questo compilatore???????
AIUTATEMIIIIIIIIII!!!!!!!
Grazie by VEGETA IL PRINCIPE DEI SAIYAN!!!!!!!!

 Tutor at D.S.I. University of Milan
V_/_ 'The future will not remember, the past doesn't forget.'
I'm Linux zion 2.4.0 #4 Thu Jan 11 15:33:34 CET 2001 i586

Newsgroup: it.comp.lang.c
Titolo: Librerie crittografiche

Ho visto che il web offre un vasto campionario di libreire crittografiche.
Volevo sapere quali si consigliano maggiormente per stabilità e velocità.
(Ovviamente prendo in considerazione OpenSSL, ma non mi basta questa visto
che non implementa El Gamal)
Grazie degli eventuali consigli

 wrote in message
news:S7Uxd.547933$
35.23...@news4.tin.it

Su
it.comp.sicurezza.crittografia
ti sapranno consigliare meglio.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: Siti di algoritmi !

Qualcuno conosce siti dove si possono  trovare descrizioni dell' algoritmo
Dijkstra  e vari altri ?

 Dijkstra  e vari altri ?
C'e' ne molto:
Prova con una ricerca in google e metti: dijkstra C example
algorithms -prolog

 ha scritto nel messaggio
news:9mh362$5jq$1...@nreadb.inwind.it...


Prendo spunto dalla domanda per buttare li` una proposta... secondo voi
sarebbe utile un gruppo tipo it.comp.algoritmi (language-indipendent)? 
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Carpe diem, quam minimum credula postero. (Q. Horatius Flaccus)

Magari!!
Questo gruppo ha dato tutto ormai. Se uno chiede qualcosa su socket
e' OT, e per parlare di algoritmi ed essere pertinenti bisogna parlare
di implementazioni in C.
Francamente io ho una grande necessita' di discutere di algoritmi
in italiano. Ora sto scrivindo ad esempio MD5, gia' scritto blowfish,
mimencode, uuencode, in parte RSA (molto lento), diffie helmann
(ottima implementazione) AVL tree, prioriti queue come descritte de
Sedgewick... e vorro' anche scrivere Lempel Ziv.
Ma con quale comunita' italiana parlare di questo? Non vorrei inoltre
dover chiedere di algoritmi di crittografia su NG di sicurezza e quelli
di compressione da un' altra parte. Sento la necessita' di una
comunita' di studiosi, appassionati che piu' che al mezzo siano
interessati al fine.
Io voto a favore.
ciao
roberto.

 Magari!!
	news:it.comp.programmare
--
Alla prossima,
Marco

Grazie. Non conoscevo. Ci ho dato una occhiata, ma non mi sembra
che si facciano grandi elucubrazioni su algoritmi. In questo
gruppo ho visto anche cose egregie. Continuero' a seguirlo,
quindi grazie del consiglio.
Comunque di un NG per soli argomenti astratti, con anche valutazioni
matematiche su algoritmi io ne sento la necessita'. Il libro di
Sedgewick mi ha dato molto. Anche l' URL
http://hissa.nist.gov/dads/terms.html
 postato _ww_ e' utile, ma
vuoi mettere col far parte di una comunita' che si esprime nella
tua lingua con cui fare ricerca, confronto, scambiarsi esperienza..
Ciao
Roberto


 Sedgewick mi ha dato molto.
   La gerarchia it.comp non prevede un gruppo specifico di questo tipo, 
anche se molti ci si avvicinano--magari a causa di errate valutazioni, 
come nel nostro caso. Potrebbe essere opportuno richiedere al GCN 
(
http://www.news.nic.it/news-it/
) la creazione di un gruppo /ad/ /hoc/.
--
Alla prossima,
Marco

 come nel nostro caso. Potrebbe essere opportuno richiedere al GCN
be', c'e' it.scienza.informatica, che mi sembra il posto adatto per 
queste cose

Newsgroup: it.comp.lang.c
Titolo: Librerie C: dos.h e dir.h

Ciao mi servono le librerie dos.h e dir.h, su internet non le ho trovate.
Sarei molto grato se qualcuno che le avesse me le spedisse a
mich...@libero.it
GRAZIE MILLE.

Sarei molto grato se qualcuno che le avesse me le spedisse a
I due file in questione non sono librerie, ma file header.
Se il tuo compilatore non li supporta, probabilmente non avra' neanche
le librerie associate. Mi sa che non puoi farci niente, se non cercare
delle funzioni sostitutive di quelle contenute.
--
Andrea Laforgia
andrea_...@bigfoot.com
Newsgroup: it.comp.lang.c
Titolo: implementazione di strutture dati

ciao a tutti,
in mezzo a voi mi sento un po ignorante, ma spero di trovare in voi un
aiuto.
volevo chiedere, come posso implementare con in linguaggio ANSI C una PILA,
oppure una CODA?
dove posso reperire in rete info utili alle strutture dati?
ringrazio
ciao
Luca
P.s. dimenticavo, dove posso trovare la documentazione delle funzioni base
di ANSI C, ad esempio, quali sono le funzioni appartenenti a stdio.h
e poi quali sono gli altri file intestazione (*.h) di default?
non vi arrabbiate se vi chiedo queste banalità! ma sono alle prime armi!
grazie ancora


Talking about music is like dancing about architecture.
                -- Laurie Anderson

oppure una CODA?
Una pila non e' altro che una struttura dati di tipo LIFO
(Last In First Out) e cresce normalmente verso l'alto
(considera una pila di piatti: cresce verso l'alto e
l'ultimo che hai messo e' il primo ad essere tolto).
Una coda invece, e' come un distributore di bicchieri di
carta, ne hai mai visti ? di quelli che i bicchieri si
inseriscono dall'alto, ma si "tirano" dal basso (in questo
caso, la struttura e' di tipo FIFO = First In, First Out).
Un esempio grossolano (e senza controllo sugli errori) di
utilizzo di una pila e':
<CODE>
#include <stdio.h>
#define N 128
int pila[N], indice_pila = N-1;
int estrai(void)
{
    return pila[++indice_pila];
}
void inserisci(int x)
{
     pila[indice_pila--] = x;
}
int main()
{
    int i;
    // ciclo che inserisce 1,2,3,4,5,6,7,8,9
    for (i = 1 ; i < 10; i++)
    {
        inserisci(i);
    }
    // ciclo che estrae 9,8,7,6,5,4,3,2,1
    for (i = 1; i < 10; i++)
    {
        printf("%d,", estrai());
    }
    return 0;
}
</CODE>
Un esempio di utilizzo grossolano di una coda, invece, e' il
seguente:
<CODE>
#include <stdio.h>
#define N 128
int coda[N], indice_coda = 0;
void slitta_elementi(void)
{
     int i;
     for (i = 0; i < N-1; i++)
     {
         coda[i] = coda[i+1];
     }
     --indice_coda;
}
int estrai(void)
{
    int r = coda[0];
    slitta_elementi();
    return r;
}
void inserisci(int x)
{
     coda[indice_coda++] = x;
}
void scrivi_coda(void)
{
     int i;
     printf("[");
     for (i = 0; i < indice_coda; i++)
     {
         printf("%d;", coda[i]);
     }
     printf("]\n");
}
int main()
{
    printf("coda iniziale: "); scrivi_coda();
    inserisci(4);
    inserisci(5);
    inserisci(6);
    printf("coda: "); scrivi_coda();
    printf("estrazione: %d\n", estrai());
    printf("estrazione: %d\n", estrai());
    printf("coda :"); scrivi_coda();
    inserisci(3);
    inserisci(2);
    printf("coda: "); scrivi_coda();
    printf("estrazione: %d\n", estrai());
    printf("estrazione: %d\n", estrai());
    printf("coda: "); scrivi_coda();
    return 0;
}
</CODE>
-- 
The Follet

ok, grazie mille per le informazioni!
un saluto
Luca
P.s. il link era perfetto!
Antonio barbone <bar...@raffaello.home> wrote in message
slrn9uus64...@barbone.raffaello.home...


 wrote in message
3bf12bae...@news.tin.it...

Newsgroup: it.comp.lang.c
Titolo: numero minore di una serie

Ciao ragazzi, ho un problema con il sorgente in questione da me
scritto... Non capisco come mai si pianti... nel sorgente ci sono i
commenti dei problmi in cui incappo.
#include <stdio.h>
int main()
{ 
   int NumValori, Counter=0; 
   float Valore, Minore;
   printf("\nInserisci una serie di numeri tra i quali vuoi trovare il
piu' piccolo.");
   printf("\n\nTra quanti numero vuoi calcolare il numero minore? ");
   scanf("%d",NumValori);
   for(;NumValori != 0; NumValori--)
   {
      Counter++;
      printf("\nDevi ancora inserire %d numeri", NumValori);
      /* qui stranamente anzichè riportare il valore di NumValori mi
stampa un cifrone assurdo */
      printf("\nInserisci il %d numero: ", Counter);
      scanf("%f", Valore);
     /* Qui si pianta! Dopo aver inserito il primo valore :-( */
 
      if (1 == Counter) Minore == Valore + 1;
      /* così appena inizio il ciclo sono sicuro che l'if sarà vero e 
       * alla variabile "minore" sarà assegnato il contenuto di
"valore" 
       */
 
      if (Valore < Minore) Minore = Valore;
 
   }
 
   printf("Il numero minoe, nella serie di %d numeri inseriti e' %f",
NumValori, Minore);
 
 
   return(0);
}
grazie a chi mi potrà dare una mano
iauz 
[© Invernomuto]
deadhead
-- 
begin  .signature
This is a .signature virus! See Microsoft KB Article Q265230 4 more info.
Capisci che il mondo sta impazzendo quando il miglior rapper è un
bianco, il miglior giocatore di golf è di colore, la Svizzera detiene
l'America's Cup di vela, la Francia accusa gli Stati Uniti di
arroganza e la Germania non vuole entrare in guerra e il miglior
pizzaiolo a Napoli è un giapponese
Se vuoi scrivermi, togli "killer."

      if (1 == Counter) Minore == Valore + 1;
		                  ^^^
			      =
azz questo è un errore che mi era sfuggito, ma non centra con quelli
esposti in precedenza


    scanf("%d",NumValori);
scanf("%d", & NumValori);
g.

scanf("%d", & NumValori);
D'oh!
ti ringrazio davvero... 


Newsgroup: it.comp.lang.c
Titolo: perchè?

Ciao, cerco qualcuno che mi dia delle spiegazioni.
Sto preparando un lavoro per l'università.
Ho codificato con Mime delle immagini Jpeg. Ho diviso poi il file testo che
si ottiene in stringhe di misura prefissata e le ho memorizzate in files. Ho
scritto poi del codice in C per riattaccare le stringhe e riottenere
l'immagine iniziale.
Va tutto bene ma non riesco a capire perchè se manca uno dei primi
"pacchetti", l'immagine non viene ricostruita, mentre se manca uno dei
"pacchetti" successivi, il danno è limitato.
Grazie a tutti ed in particolare a chi saprà darmi un aiuto.
Roberto

 limitato.
Questo è dovuto alle jpeg che contengono nella parte iniziale informazioni
sull'immagine stessa; non so di preciso quali informazioni, ma di sicuro
almeno le dimensioni dell'immagine. In mancanza di queste informazioni
l'immagine non può essere ricostruita.
Maurizio.

 "pacchetti" successivi, il danno è limitato.
potrebberò esserci anche tutti i pacchetti ma basta ke manchi l'header e la
ricostruzione non avverrebbe.

 ha scritto nel messaggio
news:SseE8.19372$g04....@tornado.fastwebnet.it...

Newsgroup: it.comp.lang.c
Titolo: Meccanismo di PGP.

Salve al ng,
avrei bisogno di un piccolo aiuto. Spero che non sia Off Topic.
Ho intenzione di studiare il meccanismo di cifratura che usa il noto
programma Pretty Good Privacy (PGP) sotto il profilo del codice in C.
Quello che mi servirebbe sarebbe qualche esempio pratico (codice)
dell'algoritmo di cifratura.
So che si basa su un principio matematico che usa due numeri come
chiavi ma vorrei appunto avere maggiori informazioni e qualche esempio
di codice.
Spero possiate aiutarmi.
Grazie dell'attenzione,
Max
--
Massimo alias mAs - 
maj...@freemail.it
http://web.tiscali.it/smax7
Member of SETI Italia Team Giuseppe Cocconi
(198WU/3620hrs)

 dell'algoritmo di cifratura.
http://www.gnupg.org/it/download.html

Newsgroup: it.comp.lang.c
Titolo: time to live

in che modo posso dare ad un programma un time to live.
Del tipo: dopo tot secondi che non ti resetto il timer, muori.
--
Shinji Ikari
E-mail : 
neot...@tin.it
UIN: 32671593
"I'm the worst" - "The End of Evangelion"

 wrote:
: in che modo posso dare ad un programma un time to live.
: Del tipo: dopo tot secondi che non ti resetto il timer, muori.
Il modo migliore per fare questo dipende dal sistema operativo
utilizzato. Per il sistema Unix un modo interessante per ottenere
questo effetto e' utilizzare la chiamata di sistema alarm(2).
antirez
Newsgroup: it.comp.lang.c
Titolo: Testo rovesciato

Salve a tutti, come si scrive in codice C che quando la stringa supera i 10
caratteri ti deve dire: Limite superato e tornare allinizio del prog quando
ti dice inserire il testo da invertire?
#include<stdio.h>
#include<string.h>
int main(void){
 char stringa[10];
 int i;
 int c;
 printf("TESTO ROVESCIATO\n");
 for(c=0;c<5;c++){
 printf("\nInserisci il testo da invertire: ");
 gets(stringa);
 for(i=strlen(stringa)-1;i>=0;i--)
  printf("%c",stringa[i]);
 printf("\n");
 }
 printf("\nFine programma.\n");
 return(0);
}

 ti dice inserire il testo da invertire?
Il codice è questo:
    do {
       printf("\nInserisci il testo da invertire: \n");
       gets(stringa);
       if (strlen(stringa) > 10) {
          printf("\nLimite superato\n");
          continue;
       }
       break;
    } while (1);
Però nel tuo programma ci sono almeno un paio di errori:
    - la lunghezza massima della stringa può essere di 9 caratteri e non 10;
per avere 10 caratteri devi modificare la dichiarazione di stringa:
        char stringa[11];
    - fare il controllo che chiedi equivale a chiudere la stalla quando i
buoi sono scappati. Se un utente inserisce una stringa più lunga di 10
caratteri il programma si interrompe e segnala l'errore. Al posto di
gets(stringa) usa:
    fgets(stringa, 11, stdin);
che accetta al massimo 10 caratteri dalla tastiera. In questo modo, però, il
controllo che tu chiedi è inutile.
Maurizio.

 caratteri il programma si interrompe e segnala l'errore.
Il che non e' sempre vero. Puo' benissimo accadere che il programma
continui
e faccia cazzate.
Evitare gets()  come la peste e' una cosa molto saggia :-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: domanda per chi usa Linux

Come realizzare un applicazione c con interfaccia grafica per linux (kde
preferibilmente), ci sono tutorial o sergenti in rete
Grazie Re Di Cuori

vai sul NG it.comp.os.linux.development
riceverai sicuramente più risposte e non sarai OT
qui si parla solo di C standard  :o)
--
ciao
..::[xaero]::..
"ReDiCuori" <redicu...@NOSPAMlibero.it> ha scritto:


Newsgroup: it.comp.lang.c
Titolo: fgets e '\n'

Esiste un modo per tagliare il carattere di new line da una stringa
ottenuta via fgets (un po' come la `chomp' del perl)?
TIA
-- 
Emmanuele Bassi         |  Linux: [ 
http://digilander.iol.it/ebassi/linux/
 ]
                        |   SLRN: [ 
http://digilander.iol.it/ebassi/slrn/
  ]
emmanue...@iol.it
  |   SETI: [ 
http://digilander.iol.it/ebassi/seti/
  ]
  GnuPG Key Fingerprint: 9747 635E B95A B0B3 4370 1CAA CAF7 512B 945C A44C

On Mon, 29 Jan 2001 10:34:19 GMT, 
zef...@wolverine.lohacker.net
(Emmanuele Bassi) wrote:
strrchr (stringa,'\n');
ti dovrebbe restituire un puntatore all'ultima occorrenza di \n oppure
NULL se non la trova.
ciao.


 ottenuta via fgets (un po' come la `chomp' del perl)?
Prova con questa da chiamare al posto della fgets():
void Leggi( char *s, int n )
{
    int len;
    fgets( s, n, stdin );
    len = strlen( s );
    if ( s[ len - 1 ] == '\n' )
        s[ len - 1 ] = '\0';
}
EMG

 Prova con questa da chiamare al posto della fgets():
Grazie a  tutti... 


Newsgroup: it.comp.lang.c
Titolo: Scandir - directory

Il problema che voleva esporre Marco č:
Facendo scandir() si ottengono le entries di una directory, tutte senza
distinzione. Per disinguere i file nascosti, ad esempio, basta usare
index(), ma per riuscire a distinguere le directori dai file?
Grazie
Michele

 per riuscire a distinguere le directori dai file?
leggi il campo d_type della struct dirent
Per le directory il valore e` DT_DIR, per i file normale DT_REG, per
tutto il resto guarda il file /usr/include/dirent.h
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
La teoria e` quando sappiamo come funzionano le cose ma non funzionano.
La pratica e` quando le cose funzionano ma non sappiamo perche`.
Abbiamo unito la teoria e la pratica: le cose non funzionano piu` e non
sappiamo il perche`.
Newsgroup: it.comp.lang.c
Titolo: [Forse OT] Scrittura in zone di mem non allocata

Vorrei fare in modo di evitare, nella programmazione in C, VC,
di andare a sporcare zone di menoria che non ho allocato o
che non devo.
Mi è capitato a volte: a causa di un offset sbagliato di
qualche variabile o a causa di puntatori sballati.
Ho pensato alla costruzione di funzioni o classi apposite, ma
dovrebbero essere fatte per tutto: dalle stringhe alle liste e
ad altri tipi di allocazioni in memoria.
Possibile che in C non ci sia il modo di farsi dare un errore a
run time se il programma va a scrivere in zone di menoria non
precedentemente allocate dallo stesso?
Sapete darmi consigli?
Grazie ciao.

Hai ragione avevo dimenticato:
Uso Win98 SE e Microsoft VC++ 6.0.

penso che il C in realtà non sappia se l'area di memoria che stai usando sia
allocata o meno...


Se il C lo facesse, ridurrebbe drasticamente la sua efficienza. 
Sicuramente qualche estensione proprietaria o similia (mi pare ad es che 
il gcc abbia opzioni per controllare queste cose - smash qualcosa, se 
non erro) esiste, ma non e' standard.
Cmq la soluzione che, vedo, volevi adottare, era quello di appoggiarsi a 
funzioni per gestire strutture dati "a rischio", e mi pare la soluzione 
migliore (non esci dagli standard, produci codice anche migliore e piu' 
leggibile); in questo caso ti conviene andare a cercare librerie gia' 
scritte da altri, che ovviamente abbondano in tal senso. Ad es., le 
glib, scritte originariamente per GNOME se non erro: 
http://www.gtk.org
 
, e poi cerca li' dentro. Credo che contenga tutto quello che ti puo' 
mai servire!
PS: anche se usi win98, puoi usare gcc e glib, basta che ti appoggi a 
MinGW (mai provato) o Cygwin (molto caruccio), se proprio non ci sono / 
non trovi le versioni per win o non compilano sotto win
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

Newsgroup: it.comp.lang.c
Titolo: Modulo 256

Salve a tutti, sapreste indicarmi dove posso trovare esempi del calcolo
di un checksum dei caratteri di  una stringa, visto che la funzione che
ho scritto da solo è di una lentezza esasperante?

you wrote:

Be', una semplice semplice potrebbe essere (non ho compilato) :
int checksum( char *s )
{
     int sum = 0 ;
     for ( ; *s ; s++ )
         sum += *s ;
     return sum % 256 ;         
}

 }
Ma il checksum non č un dato che sommato agli altri fa si che la somma sia
0?
int checksun(char *s)
{
    unsigned char sum;
    while(*s)
    {
        sum+=*s;
        s++;
    }
    return (256-sum);
}

0?
Dipende se vuoi intenderlo in questo modo.
L'amico parlava di modulo 256.
Newsgroup: it.comp.lang.c
Titolo: il comando format

Domanda il comando format in dos come funziona ,
è possibile scriverlo in c senza usare comandi dos.
Cioè mi spiego meglio è possibile scriverlo da 0
un comando di questo genere ??

 Cioč mi spiego meglio č possibile scriverlo da 0


 e` possibile scriverlo da 0 un comando di questo genere ??
 In C (e con qualsiasi linguaggio di alto livello) ho seri
 dubbi che si possa fare, a meno di trovare qualche libreria
 particolare.... In assembler si puo` fare in vari modi.
 Leggiti la documentazione del floppy-controller 82078 che
 si trova nel sito della intel (
www.intel.com
).
 Se ti interessa qualche sorgente, cerca negli archivi simtel.
 Sotto linux, puoi scaricarti i sorgenti delle fd-utils (cerca
 su 
http://freshmeat.net
) e leggerti la documentazione allegata
 (circa 70pag) che spiega molto bene come viene la formattazione
 di un dischetto.
 PS: l'argomento e` off-topics qui e non esiste nemmeno un
     newsgroup sull'assembler in italiano, quindi, se sai
     l'inglese puoi chiedere aiuto in alt.lang.asm, altrimenti
     mi sa che ti devi arrangiare.... :-/

 un comando di questo genere ??
Si' che e' possibile, nel senso che il format che usi e' stato scritto
da qualcuno ;-)
Concettualmente non e' nulla di astruso, si tratta di riscrivere la
fat del disco e di pilotarne il controller.
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

  Ciao, Bianco.
Dove posso trovare documenti (magari in Italiano) faq o libri online per
avere informazioni su tutto cio'?
:)
Alas, Re Artu il Rè di tutti i Regni Immaginari ed Immaginabili.
Newsgroup: it.comp.lang.c
Titolo: JPG e C

Avrei bisogno di una funzione del tipo :
void immagine(int x,int y,char *nome_immagine);
che posizioni una immagine in formato jpg (o anche in un qualunque
altro formato) a partire dall'angolo in alto a sinistra di coordinate
x,y (ovviamente rispetto alla risoluzione attualmente impostata).
So che una simile funzione non e' standard ma non ho la minima idea di
dove andare a trovarla... voi avete qualche idea a proposito ? O
almeno sapete dirmi dove pootrei trovare documentazione sui formati
grafici per potermela scrivere da solo ?
Augusto Pucci ( 
http://www.prospektiva.it/webmaster/
 )
Webmaster di Prospektiva On-line
http://www.prospektiva.it
Webmaster di 
CO.DI.CI
. Siena
http://codici.supereva.it

 formati grafici per potermela scrivere da solo ?
 
http://www.wotsit.org
	Alla prossima,
		Marco

  Hardware? Sistema operativo? Interfaccia grafica? Framework?
Hai ragione scusa ho dato un po' di cosine per scontato :-)
Allora mi servirebbe per MS-DOS (che giri anche in una shell ms-dos
sotto windows ovviamente, nessun acceleratore grafico particolare...
mi basta che funzioni sullo standard VGA... anche complementare alla
graphics.h della borland mi andrebbe benissimo, nessuna interfaccia
garfica..modalita' console... mi puoi aiutare ?


 console... mi puoi aiutare ?
  Il DJGPP ha (aveva?) una piccola libreria grafica che, con l'ausilkio
di quello che leggi sul formato JPEG su Wotsit, potrebbe aiutarti.
Altrimenti, esiste un intero framework grafico, sempre per DJGPP, che si
chiama Allegro (con il quale e` stato sviluppato il MAME). Lo trovi
sulla Rete facilmente, probabilmente anche sul sito di Delorie.
	Alla prossima,
		Marco

sulla Rete facilmente, probabilmente anche sul sito di Delorie.
Grazie mille, provero' con Allegro allora..si' c'e' su delorie
grazie..e scusa per l'iniziale incompletezz<a della domanda

Newsgroup: it.comp.lang.c
Titolo: esercizio 1-14 K&R

Avvicinandomi alla programmazione in C dopo essere passato per il Java, ho
cominciato a studiarmi il K&R. Splendido libro, non c'è dubbio.
Gli esercizi sono davvero adatti, anche se l'assenza di almeno una
soluzione li rende un po' difficili. L'esercizio di cui in oggetto io l'ho
risolto nel seguente modo:
main() {
    int n[257];
    int c, i;
    for (i = 0; i <= 255; i++) {
        n[i] = 0;
    } 
    while ((c = getchar()) != EOF) {
        n[c]++;
    }
    for (i = 0; i <= 256; i++) {
        printf("%c: ", i);
        while (n[i] > 0) {
            printf("+");
            n[i]--;
        }
        printf("\n");
   }
}
Però esaminando la soluzione proposta a 
http://users.powernet.co.uk/eton/kandr2/krx114.html
mi accorgo quanto questa sia più complessa. Forse sono solo 2 modi diversi
di risolvere la stessa cosa, oppure ho sbagliato io, pensando di aver
risolto il problema quando in verità non è così?
Saluti
Rionda
www.riondabsd.net
Sent from: 
kaiser.sig11.org
 FreeBSD-4.7-STABLE 

Rionda wrote:
 
 > Avvicinandomi alla programmazione in C dopo essere passato per il Java, 
ho
 > cominciato a studiarmi il K&R. Splendido libro, non c'è dubbio.
 > Gli esercizi sono davvero adatti, anche se l'assenza di almeno una
 > soluzione li rende un po' difficili. L'esercizio di cui in oggetto io 
l'ho
 > risolto nel seguente modo:
 > 
 > main() {
 >     int n[257];
 >     int c, i;
 >     for (i = 0; i <= 255; i++) {
 >         n[i] = 0;
 >     }
 >     while ((c = getchar()) != EOF) {
 >         n[c]++;
 >     }
 >     for (i = 0; i <= 256; i++) {
 
 Attenzione, qui` il ciclo lo fai fino all'ultimo elemento, che non hai 
 inizializzato prima, quindi ci puo` essere qualunque valore; a me ad 
 esempio da un loop molto lungo. Potresti anche evitare di stampare i 
 caratteri che non sono stati immessi.
 
 >         printf("%c: ", i);
 >         while (n[i] > 0) {
 >             printf("+");
 >             n[i]--;
 >         }
 >         printf("\n");
 >    }
 > }
 > 
 > Però esaminando la soluzione proposta a
 > 
http://users.powernet.co.uk/eton/kandr2/krx114.html
 > mi accorgo quanto questa sia più complessa. Forse sono solo 2 modi 
diversi
 > di risolvere la stessa cosa, oppure ho sbagliato io, pensando di aver
 > risolto il problema quando in verità non è così?
 
 Diciamo che ti sei solo voluto facilitare le cose;-) Comunque in genere gli 
 istogrammi hanno l'asse delle ascisse per orizzontale, per cui forse e` 
 piu` corretta la soluzione proposta nel sito.
 Ciao,
 Cecco
Newsgroup: it.comp.lang.c
Titolo: Dev C++ - Errore compilazione

Ciao a tutti... Ho un problema con il programma Dev C++ nella 
compilazione. 
So per certo non essere un problema di codice, dal momento che ho fatto 
la prova con una semplicissima funzione:
**********
main()
{
printf("Ciao");
}
***********
L'errore che mi viene restituito è il seguente: 
Linea: \Programmi\Utility\Dev-Cpp\Bin\..\lib\gcc-lib\mingw32\3.2
\tradcpp0.exe 
Unità: E:\Documenti\Scuola\Informatica 2\Software\E
Messaggio: invalid option `-std=c89'
Qualcuno sa darmi una dritta?
Grazie
Ciao
-- 
-Diego (Atos)-
-L'uomo è superiore agli animali-
-Fanno eccezione il nano e la giraffa-
-A.Bergonzoni-
-Per rispondere in privato potare "POTA" dall'indirizzo-

 ***********
#include<stdio.h>?
Marcello

 
si si... ovviamente l'avevo inserito 
mia mancanza nella digitazione del post
Ciao
-- 
-Diego (Atos)-
-L'uomo č superiore agli animali-


 -Per rispondere in privato potare "POTA" dall'indirizzo-
ps: forse e' il caso di leggersi un buon manuale, o tutorial in rete, di C
prima di postare dando la colpa al compilatore
pps: i libri volendo si trovano a "gratisse" in biblioteca

 
Non quoto nemmeno il tuo codice, dal momento che č assolutamente 
inutile. Il mio codice (eccettuata la mancanza della definizione dello 
standard i\o per una mia mancanza nella scrittura del post) č 
assolutamente corretto e non contiene il minimo errore. 
In primis, sotto linux con gcc, viene compilato benissimo. L'int al 
posto del void associato al main restituisce unicamente un avvertimento 
e non un errore al momento della compilazione. 
In secondo luogo gli argomenti della funzione main non sono per niente 
essenziali in un programma che unicamente stampa la scitta "ciao" 
Ciao
-- 
-Diego (Atos)-
-L'uomo č superiore agli animali-


 essenziali in un programma che unicamente stampa la scitta "ciao"
Si ma lui parla di standard C89 (immagino uno standard creato nel 1989) tu
parli di gcc "sotto linux", i due concetti potrebbero non essere le stesse.
Fai una semplice prova.

 
io non ho parlato di standard
io ho chiesto come mai il borland c++ mi da quell'errore. 
Il codice è C, di livello base
Ciao
-- 
-Diego (Atos)-
-L'uomo è superiore agli animali-


Mmmmh... Prova a disinstallare e reinstallare il dev-c++. Forse è
l'installazione che ha problemi. Oppure (per sicurezza) prova ad eseguirlo
come amministratore. O, per finire, prova a cambiare l'estensione da .cpp a
.c o da .c a .cpp e/o a cambiare le opzioni del progetto da c++ a c e
viceversa.
--- bye

MaxMax (
xan...@geocities.com
): 

Cambiate le impostazioni del progetto ed è andato tutto a posto. Non mi 
ero accorto di aver cannato a configurare il progetto
Grazie mille per la dritta


 > -L'uomo č superiore agli animali-
