Aiuto esercizio C

di il
4 risposte

Aiuto esercizio C



#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void	ft_putchar(char c);

void    ft_print_comb(void);


int main()
{
    ft_print_comb();
    return (0);
}

void	ft_putchar(char c)
{
	write (1, &c, 1);
}


void    ft_print_comb(void)
{
    int a;
    int b;
    int c;
    a = '0';

while(a <= '7' && b <= '8' && c <= '9')
    {
    while(a <= '7')
        {
            while(b <= '8')
            {
                    while(c <= '9')
                    {
                     /*   ft_putchar(a);
                        ft_putchar(b);
                        ft_putchar(c);  */

                        write(1,&a,1);
                        write(1,&b,1);
                        write(1,&c,1);

                if (a != '7' || b != '8' || c != '9')
				{
					ft_putchar(',');
					ft_putchar(' ');
				}

                }
                c++;
            }
        b++;
    }
    a++;
}
}
[code]#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void	ft_putchar(char c);

void    ft_print_comb(void);


int main()
{
    ft_print_comb();
    return (0);
}

void	ft_putchar(char c)
{
	write (1, &c, 1);
}


void    ft_print_comb(void)
{
    int a;
    int b;
    int c;
    a = '0';

while(a <= '7' && b <= '8' && c <= '9')
    {
    while(a <= '7')
        {
            while(b <= '8')
            {
                    while(c <= '9')
                    {
                     /*   ft_putchar(a);
                        ft_putchar(b);
                        ft_putchar(c);  */

                        write(1,&a,1);
                        write(1,&b,1);
                        write(1,&c,1);

                if (a != '7' || b != '8' || c != '9')
				{
					ft_putchar(',');
					ft_putchar(' ');
				}

                }
                c++;
            }
        b++;
    }
    a++;
}
}
non riesco a capire perchè la funzione compila ma non da output, premetto che dovrebbe stampare tutte le combinazioni tra 3 numeri, grazie a chiunque risponderà.

4 Risposte

  • Re: Aiuto esercizio C

    Per rimanere nell'ambito del tuo codice, alcune semplici correzioni
    
    void    ft_print_comb(void)
    {
    	char a, b, c;
    	a = b = c = '0';
    
    	while (a <= '9')
    	{
    			while (b <= '9')
    			{
    				while (c <= '9')
    				{
    					putchar(a);
    					putchar(b);
    					putchar(c);
    
    					putchar(' ');
    					c++;
    				}
    				c = '0';
    				b++;
    			}
    			b = c = '0';
    			a++;
    		}
    }
    
  • Re: Aiuto esercizio C

    Cosi va, grazie mille.
  • Re: Aiuto esercizio C

    Perché non provi a spiegare esattamente cosa vuoi fare? Vuoi fare tutte le combinazioni di '7', '8', e '9'? In quel caso, nella funzione di oregon devi mettere '7' in tutti i punti dove c'è scritto '0'.
  • Re: Aiuto esercizio C

    Mea culpa, la risposta era giusta, ho cambiato compilatore e adesso va. Codeblocks deve avere qualche problema.
Devi accedere o registrarti per scrivere nel forum
4 risposte