Allora ho un codice, che deve stampare una griglia, ad esempio se io imposto come costanti che ci devono essere 16 celle e che il lato deve essere 4 celle, il programma dovrebbe stamparmi:
Semplice no? Il mio codice è questo:codice:O O O O O O O O O O O O O O O O
Sembra corretto, ma tutto quello che stampa è:codice:#define N_CELLE 16 #define LATO 4 #define NONOTA 'O' #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> #include <unistd.h> void init(char *array); void print(char *array); int main() { char array[N_CELLE]; init(array); write(STDOUT_FILENO, "\n", 1); print(array); write(STDOUT_FILENO, "\n", 1); } void init(char *array) { int i, k; for (i = 0; i < N_CELLE; i++) { array[i] = NONOTA; } } void print(char *array) { int i, k = 0; for (i = 0; i < N_CELLE; i++) { if (k < LATO) { write(STDOUT_FILENO, &array[i], 1); k++; } else { write(STDOUT_FILENO, "\n", 1); k = 0; } } }
Io sto programmando da stamattina ora sono esausto e non so più come risolvere questo nuovo problema, voi vedete l'errore???codice:O O O O O O O O O O O O O
PS: Il codice è completo e compilabile se volete provarlo!

					
					
					
						
  Rispondi quotando