Problema 1
Scrieti un program care numără caracterele, cuvintele și liniile
citite de la intrarea standard, pana la sfarsitul acesteia.
Cuvintele sunt secvențe de caractere despărțite prin unul sau mai multe
"spatii albe".
Precizări
O linie se numără doar când e încheiată cu '\n'.
Programul va tipări la ieșire numărul de linii, cuvinte, și caractere,
aliniate la dreapta pe un câmp de lățime 7 (se poate face cu formatul %7d), și separate prin câte un spațiu.
Pentru comparație, folosiți programul UNIX wc (word count).
Observație: Pentru a indica sfârșitul fișierului standard de intrare,
în cazul introducerii de la tastatură, într-un terminal UNIX se tastează
Control-D. Dacă pe linia curentă s-au introdus deja caractere, Control-D
trebuie repetat de două ori.
Problema 2 Scrieti un program care numara liniile utile citite de la intrarea standard, pana la sfarsitul acesteia. O linie e utila cand contine si altceva in afara de comentarii (cf. sintaxei C) sau spatii albe.
Problema 3 Scrieti un program care numara cuvintele si liniile citite de la intrarea standard, pana la sfarsitul acesteia. Un cuvant e o secventa de litere, cifre, caractere '.' sau '_' .
Problema 4 Scrieti un program care tipareste la iesire textul citit de la intrarea standard, modificat astfel incat orice litera de la inceputul unui cuvant e transcrisa ca litera mare. La sfarsit, programul va tipari numarul total de cuvinte si numarul maxim de cuvinte pe aceeasi linie. Cuvintele sunt secvențe de caractere despărțite prin unul sau mai multe "spatii albe".
l = 0; r = 19; // cauta x in tablou crescator a[20] // a[l-1] < x < a[r+1] (daca limitele exista) do { m = (l + r) >> 1; // jumatatea intervalului if (x > a[m]) l = m + 1; // x > a[l-1] else r = m; // x <= a[r] deci x < a[r+1] } while (l != r); // l == r, deci a[l-1] < x < a [l+1] if (x == a[l]) printf("gasit la poz. %d\n", l); else printf("%f nu e in tablou\n", x);sau
if (c == '*') { // am intrat in comentariu do c = getchar(); while (c != '*'); // c e sigur '*' // dar cum poate programul sa forteze aparitia lui '*' ?? }