J'apprends le C en tant que première langue, et je voulais juste vous demander, si vous pensiez que cet exercice était résolu de la bonne façon, je suis conscient que ce n'est probablement pas aussi complet que vous le feriez comme, mais je voulais des vues, donc je saurais que j'apprends bien.K & R Chapitre 1 - Exercice 22 solution, qu'en pensez-vous?
Merci
/* Exercise 1-22. Write a program to "fold" long input lines into two or
* more shorter lines, after the last non-blank character that occurs
* before then n-th column of input. Make sure your program does something
* intelligent with very long lines, and if there are no blanks or tabs
* before the specified column.
*
* ~svr
*
* [NOTE: Unfinished, but functional in a generic capacity]
* Todo:
* Handling of spaceless lines
* Handling of lines consisting entirely of whitespace
*/
#include <stdio.h>
#define FOLD 25
#define MAX 200
#define NEWLINE '\n'
#define BLANK ' '
#define DELIM 5
#define TAB '\t'
int
main(void)
{
int line = 0,
space = 0,
newls = 0,
i = 0,
c = 0,
j = 0;
char array[MAX] = {0};
while((c = getchar()) != EOF) {
++line;
if(c == NEWLINE)
++newls;
if((FOLD - line) < DELIM) {
if(c == BLANK) {
if(newls > 0) {
c = BLANK;
newls = 0;
}
else
c = NEWLINE;
line = 0;
}
}
array[i++] = c;
}
for(line = 0; line < i; line++) {
if(array[0] == NEWLINE)
;
else
printf("%c", array[line]);
}
return 0;
}
Peut-être que vous devriez résoudre vos propres devoirs a ssignments? –
@Phil: Je pense qu'il l'a fait ... ça ou l'énorme bloc de code était criblé. – Shog9
@Phil, il y a un grand précédent pour les gens qui posent des questions à la maison tant qu'ils ont fait un effort. Et vous ne savez pas vraiment que c'est les devoirs, @svr peut être autodidacte. C'est certainement mieux que les clowns qui ont juste coupé et collé leur question de devoirs verbatim. – paxdiablo