Ještě poslední otázka. Kdybych se to rozhodl psát v PHP, přijde mi to jednodušší, budu potřebovat na dynamickou stránku jenom PHP nebo je potřeba i ajax?
Příspěvky odeslané z IP adresy 147.32.126.–
Zatím by to mělo fungovat takhle: program by měl mít nějaký login pro administratora, ktery muze pridavat a mazat fotky a pak napr. nejaky user, ktery si bude moct jenom prohlizet fotky. Dale si budu moct zalozit novou kategorii fotek. Uzivatel i administratotr budou moct vyhledat fotku pomocí slovních priznaku. A samozrejme ukládání fotek. Věci jako odstranění červených očí tam nebudou. A musí to být dynamicky. Ajax mně byl na konzultaci schválen.
Jak se tak na to dívám, tak pro dynamickou webovou stránku budu potřebova AJAX nebo jQuery. To znamená, že programovaní nebude v javě, ale v javascriptu? To jsem tak dočetl, tak by byl vhodný server Tomcat. K čemu je tedy Java EE? Mohl by mi někdo, kdo má nějaké zkušenosti poradit? Nevím, na jakou literaturu se mám zaměřit, jestli na javu nebo javascript.
Vždycky jsem postupoval tak, že jsem si napsal kod pro normalni sudoku a pak se ho snažil nějak modifikovat, tak aby řešilo sudoku X, Zatím jsem s tím moc neuspěl. Variantu jsem 1 jsem se snažil vytvořit a neměla velký úspěch, proto mi přijde vhodnější varianta 2. Jeste si nedokazu presne predstavit jak by to mělo vypadat.
no představ si že jo a kdybych to už dávno měl, tak by se asi neptal.
Čau, zkoušel jste někdo programovat sudoku X ? Už mi dochází nápady jak to provést, vždycky se najde jedno zadání, které mi vyvrátí, že aktuálni kód je správně. Přijde mi, že jedním typem algoritmu nejde pokrýt všechny případy narozdíl od normálního suddoku.
Myslím to takhle mám třeba program1.c a program2.c.. v program1.c mam if else a do else chci zadat odkaz na program2.c, abych ho tam nemusel vkladat a ruzne napojovat funkce, ale primo se na nej odkazal.
Zdravím, mám např. nějakou podmínku a když není splněna, chci se na pro výpočet odkázat na jiný kód. Je to možné?
Da se vzit libovolny priklad odsud http://sudokuonline.cz/diagonalni.html. Bud zcela ignoruje jednu diagonalu nebo druhou diagonalu a nekdy se zase stane, ze prvni a posledni prvek je stejny. Je to zcela nevyzpytatelne.
Zkusil jsem to takhle a přijde mi, že jsem pořád ve slepé uličce, že to tímto způsobem vůbec nelze.
#include <stdio.h>
int zkontroluj2(int sudoku[9][9], int radek, int sloupec)
{
int k, j, l, m;
for (k = 0; k < 9; ++k) {
if (sudoku[k][k] == 0 ) continue;
for (j = k + 1; j < 9; ++j) {
if (sudoku[j][j] == sudoku[k][k]) return 0;
}
}
for (l = 0; l < 9; ++l) {
if (sudoku[8-l][l] == 0 ) continue;
for (m = l + 1; m < 9; ++m) {
if (sudoku[8-m][m] == sudoku[8-l][l]) return 0;
}
}
}
int zkontroluj(int sudoku[9][9], int radek, int sloupec, int cislo)
{
int i, l , m, k , j;
int poc_radek = (radek / 3) * 3;
int poc_sloupec = (sloupec / 3) * 3;
zkontroluj2(sudoku, radek, sloupec);
for(i = 0; i < 9; ++i)
{
if (sudoku[radek][i] == cislo) return 0;
if (sudoku[i][sloupec] == cislo) return 0;
if (sudoku[poc_radek + (i % 3)][poc_sloupec + (i / 3)] == cislo) return 0;
}
return 1;
}
int reseni(int sudoku[9][9], int radek, int sloupec)
{
int i;
if( radek < 9 && sloupec < 9 )
{
if( sudoku[radek][sloupec] != 0 )
{
if( (sloupec + 1) < 9 )
return reseni(sudoku, radek, sloupec + 1);
else if( (radek + 1) < 9)
return reseni(sudoku, radek + 1, 0);
else
return 1;
}
else
{
for(i = 0; i < 9; ++i)
{
if( zkontroluj(sudoku, radek, sloupec, i + 1) )
{
sudoku[radek][sloupec] = i + 1;
if( (sloupec + 1) < 9 )
{
if( reseni(sudoku, radek, sloupec + 1) )
return 1;
else
sudoku[radek][sloupec] = 0;
}
else if( (radek + 1) < 9 )
{
if( reseni(sudoku, radek + 1, 0) )
return 1;
else
sudoku[radek][sloupec] = 0;
}
else
return 1;
}
}
}
return 0;
}
else
{
return 1;
}
}
int main(void)
{
int i, j;
int sudoku[9][9]={{0, 0, 0, 0, 0, 6, 5, 0, 9},
{0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 2, 5, 0, 0, 0, 0, 0},
{0, 0, 4, 0, 0, 0, 8, 0, 1},
{0, 0, 0, 0, 8, 0, 0, 0, 0},
{7, 0, 8, 0, 0, 0, 9, 0, 0},
{0, 0, 0, 0, 0, 7, 4, 0, 0},
{0, 0, 0, 0, 0, 0, 2, 0, 0},
{5, 0, 6, 4, 0, 0, 0, 0, 0}};
if( reseni(sudoku, 0, 0) )
{
printf("Reseni sudoku:\n\n");
for(i = 0; i < 9; ++i)
{
for(j = 0; j < 9; ++j)
printf("%d ", sudoku[i][j]);
printf("\n");
}
printf("\a");
}
else
{
printf("\n\nReseni neexistuje\n\n");
}
return 0;
}
#include <stdio.h>
#include <string.h>
#include "zapoctovy-program.h"
int main(void)
{
printf("\n******* SUDOKU *******\n\n");
printf("Sudoku zobrazuje reseni krok po kroku.\n\n");
printf("Zadej %d radku o %d cislech.\n", 9, 9);
printf("Cisla mohou byt oddelena libovolnym znakem\n");
printf("Zadej nulu pro prazdne pole.\n");
printf("Pro ukonceni zadej pismeno Q.\n\n");
while (zadej_zadani()) {
citac = 0;
vyres_sudoku();
zobraz_sudoku();
if (! hotove_sudoku()) printf("Neco je spatne\n");
printf("Pocet testu: %ld\n\n", citac);
}/*konec while*/
printf("\n");
return 0;
}
chybí tu main. Zadávám to sem asi potřetí.