Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 24. 10. 2013 15:14

Epoxi
Příspěvky: 31
Reputace:   
 

dynamicke pole

Zdravím, jak by se v tomto případě napsalo mit char buffer[35] dynamicke jednorozmerne pole[35]

Code:

int volne_pole_cislo(int cislo, int radek, int sloupec) /*Funkce testuje, jestli cislo uz je v poli, radku, 3x3 nebo diagonale*/
{
    int i, j, k, l, m, n, a , b;

    char buffer[35];
        for (i = 0; i < 8; i++) {
             a = 0;
             a +=  i;
            if (sudoku[i][a] == 0 ) continue;
        for (j = i + 1; j < 9; j++) {
            b = 0;
            b += j;
            if (sudoku[j][b] == sudoku[i][a]) return (0);
        }
    }

        for (i = 0; i < 8; i++) {
            k = 8;
            m = 0;
            m = k - i;
            if ( sudoku[i][m] == 0 ) continue;
        for (j = i + 1; j < 9; j++) {
            n = 8;
            l = 0;
            l = n - j;
            if (sudoku[j][l] == sudoku[i][m]) return (0);
        }
    }

    for (i = 0; i < 9; i++) if (sudoku[radek][i] == cislo)   return(0);
    for (i = 0; i < 9; i++) if (sudoku[i][sloupec] == cislo) return(0);

    
   
    
    transformuj_ctverecek_poli(buffer, radek, sloupec);
    for (i = 0; i < 9; i++) if (buffer[i] == cislo) return (0);

    
    /* Jestli se mozne dane cislo doplnit podle splnenych podminek vrati funkce TRUE*/
    return(1);
}/*konec volne_pole_cislo*/

void transformuj_ctverecek_poli(char buffer[], int radek, int sloupec)
{
    int i, j, k;

    while ((radek % 3) != 0) radek--;
    while ((sloupec % 3) != 0) sloupec--;
    k = 0;
    for (j = radek; j < radek + 3; j++) {
        for (i = sloupec; i < sloupec + 3; i++) {
            buffer[++k] = sudoku[j][i];
        }/*konec for i*/
    }/*konec for j*/
}/*konec transformuj_ctverecek_poli*/

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson