Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    [C] ciclo for (nn trovo errore)

    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!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: [C] ciclo for (nn trovo errore)

    Ecco la modifica da fare in grassetto ...

    Originariamente inviato da Metallica
    codice:
            else
            {
                write(STDOUT_FILENO, "\n", 1);
                k = 0;
                i--;
            }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    Re: Re: [C] ciclo for (nn trovo errore)

    Originariamente inviato da oregon
    Ecco la modifica da fare in grassetto ...
    Giustoooo... quando va a capo non devo considerare il for!!!
    Grazie.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Di nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.