Newsgroup: it.comp.lang.c
Titolo: Esercizio sul k&r

Ciao raga,
sono riuscito a risolvere tutti gli esercizi del k&c fino ad adesso... nn 
riesco a venirne fuori, mi dareste una mano?
l'esercizio č: 
scrivere la funzione htoi(s) che converte una stringa di cifre esadecimali 
( che puň comprendere un suffisso opzionale 0x o 0X) nel suo valore intero 
corrispondente. Le cifre disponibili vanno da 0 a 9, da a ad f e da A ad F.
grazie !!!

 da a ad f e da A ad F.
verificare la presenza del suffisso, se c'e', passare oltre. poi 
leggere la stringa un carattere alla volta, trovarne il valore hex e 
aggiungerlo alla somma. moltiplicare, se e' il caso, per 16 e 
continuare a leggere fino alla fine.
hint: convertire in minuscolo o maiuscolo la stringa per semplificare

trovarne il valore hex
t ringrazio! ma come si fa?:S
scusa.... sono tardo......

"PT" ha scritto:

scusa, ma sei vuoi che ti si facciano gli esercizi, che lo hai comprato 
a fare il libro? facevi prima a cercare le soluzioni degli esercizi.
se sei riuscito a fare gli altri, riuscirai a fare anche questo, o 
almeno provaci, posta il codice se non va, e poi se ne discute

non intendevo farmi fare l'esercizio.. è solo che nn ho idea di quale sia il
procedimento perché non ho mai avuto a che fare cn numeri esadecimali e mi
trovo leggermente a disagio a "operare" con questi... cmq ci provo,
scusami....

"PT" ha scritto:

ti aiuto:
`0` vale 0
[...]
`9` vale 9
`A` vale 10
`B` vale 11
`C` vale 12
`D` vale 13
`E` vale 14
`F` vale 15
ora devi solo fare la conversione da char a int

 ha scritto nel messaggio
news:2056496.x...@tin.it...


Mi spiegate una cosa?
Cos' e' il k&r ?
A sentire da voi sembra un libro di esercizi in C molto famoso!
E' cosi?
Gradirei qualche info, grazie! 
                                     Majin


Gradirei qualche info, grazie! 
Brian Kernighan e Dennis Ritchie (da cui K&R) sono gli
autori del primo libro sul linguaggio C (edizione 1978),
rinnovato nel 1988 con la seconda edizione.
Dennis Ritchie e' l'inventore del linguaggio C e il testo in
questione contiene tutta la teoria sul linguaggio, piu' una
buona dose di esercizi.
--
Andrea Laforgia - walkietalkie(at)
libero.it
http://www.geocities.com/AndreaLaforgia

 Dennis Ritchie e' l'inventore del linguaggio C 
 Questo lo sapevo:-)
Questo libro  esiste anche in versione italiana?!

Questo libro  esiste anche in versione italiana?!
Si', ma ti consiglio quella inglese.


Dennis Ritchie e' l'inventore del linguaggio C
Forse sarebbe piu' corretto dire che e' uno degli autori, da quanto ne
so io ci lavorarono principalmente in tre ed il lavoro piu' grosso lo
fece certamente Thompson
ciao, acc.   
a...@libero.it

 fece certamente Thompson
No, Thompsono si occupo' prevalentemente di Unix e del linguaggio B.
Il linguaggio C e' una creatura di Dennis Ritchie.
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Il linguaggio C e' una creatura di Dennis Ritchie.
Buona parte del C e' in pratica rappresentata dal B.
ciao, acc.   
a...@libero.it

 Buona parte del C e' in pratica rappresentata dal B.
Falso.
Il C e' un linguaggio assolutamente diverso da quello che era il B.
Informati meglio leggendo la storia del linguaggio.
Comunque, se vuoi che ti dica che hai ragione (tanto per non fare tramutare
questo thread in un ennesimo flame), va bene, hai ragione.


 Si', ma ti consiglio quella inglese.
Quello italiano sai che titolo ha?
E' la migliore guida completa sul C?
Grazie
--
Luigi

E' la migliore guida completa sul C?
Dipende dai punti di vista.
Sicuramente non dice cose sbagliate ;)


Il C e' un linguaggio assolutamente diverso da quello che era il B.
   Contesto solo il tuo "assolutamente". Alle volte ci somigliava:
Dal "Thompson's B Manual":
http://cm.bell-labs.com/cm/cs/who/dmr/kbman.html
============================================
/* The following program will calculate the constant e-2 to about
   4000 decimal digits, and print it 50 characters to the line in
   groups of 5 characters.  The method is simple output conversion
   of the expansion
     1/2! + 1/3! + ... = .111....
   where the bases of the digits are 2, 3, 4, . . . */
main() {
   extrn putchar, n, v;
   auto i, c, col, a;
   i = col = 0;
   while(i<n)
      v[i++] = 1;
   while(col<2*n) {
      a = n+1 ;
      c = i = 0;
      while (i<n) {
         c =+ v[i] *10;
         v[i++]  = c%a;
         c =/ a--;
      }
      putchar(c+'0');
      if(!(++col%5))
         putchar(col%50?' ': '*n');
   }
   putchar('*n*n');
}
v[2000];
n 2000;
============================================
-- 
Totuccio.

questo thread in un ennesimo flame), va bene, hai ragione.
Riporto la parte finale (Acknowledgments) di un documento scaricabile
dal sito dei Bell-Labs, il documento si intitola "The Development of
the C Language" ed e' stato redatto da Dennis M. Ritchie.
It is worth summarizing compactly the roles of the direct contributors
to today’s C lan-guage.
Ken Thompson created the B language in 1969-70; it was derived
directly from Martin Richards’s BCPL. Dennis Ritchie turned B into C
during 1971-73, keeping most of B’s syntax while adding types and many
other changes, and writing the first compiler. Ritchie, Alan Snyder,
Steven C. Johnson, Michael Lesk, and Thompson contributed language
ideas during 1972-1977, and Johnson’s portable compiler remains widely
used. During this period, the collection of library routines grew
considerably, thanks to these people and many others at Bell
Laboratories.
In 1978, Brian Kernighan and Ritchie wrote the book that became the
language definition for sev-eral years. Beginning in 1983, the ANSI
X3J11 committee standardized the language. Especially
notable in keeping its efforts on track were its officers Jim Brodie,
Tom Plum, and P. J. Plauger, and the successive draft redactors, Larry
Rosler and Dave Prosser.
I thank Brian Kernighan, Doug McIlroy, Dave Prosser, Peter Nelson, Rob
Pike, Ken Thompson, and HOPL’s referees for advice in the preparation
of this paper.
ciao, acc.   
a...@libero.it

 are similar". L'ha detto Ritchie, non io.
Ok, hai ragione, il C l'ha inventato Thompson.


    Contesto solo il tuo "assolutamente". Alle volte ci somigliava:
Somigliarsi non vuol dire avere caratteristiche identiche.
Il B e' un linguaggio molto piu' povero del C (specie quello descritto dal
K&R), ma se volete pensare che il suo autore sia Thompson, fate pure, non
staro' certo
qui a convincervi.


 Sicuramente non dice cose sbagliate ;)
Ma credi che ci sia di meglio sul mercato (in italiano)?
Grazie
Luigi

Somigliarsi non vuol dire avere caratteristiche identiche.
   Vero, ma se dici che il B e` *assolutamente* diverso dal C, cosa
devi dire poi di altri linguaggi?
-- 
Totuccio.

Ok, hai ragione, il C l'ha inventato Thompson.
Non ho detto questo.
ciao, acc.   
a...@libero.it