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:
codice:
O O O O
O O O O
O O O O
O O O O
Semplice no? Il mio codice è questo:
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;
}
}
}
Sembra corretto, ma tutto quello che stampa è:
codice:
O O O O
O O O O
O O O O
O
Io sto programmando da stamattina ora sono esausto e non so più come risolvere questo nuovo problema, voi vedete l'errore???
PS: Il codice è completo e compilabile se volete provarlo!