1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
void matriceCtJ(JNIEnv* env, int matC[9][9], jobjectArray joa){
for (int lg=0 ; lg<9 ; lg++) {
jintArray ligne = env->NewIntArray(9);
ligne = (jintArray)env->GetObjectArrayElement(joa,lg);
env->SetIntArrayRegion(ligne, 0, 8, (jint*)matC[lg]);
env->SetObjectArrayElement(joa, lg, ligne);
}
}
JNIEXPORT jobjectArray JNICALL Java_sudoku_Facade_getSolution
(JNIEnv* env, jclass, jobjectArray matriceCourante){
//0. variables locales
int matriceCalcul[9][9];
jintArray colonne = (jintArray)env->NewIntArray(9);
jobjectArray matriceSolution = (jobjectArray)env->NewObjectArray(9, env->GetObjectClass(colonne), NULL);
//1. transformation matrice java en matrice C++
matriceJtC(env, matriceCourante, matriceCalcul);
//2. modifications de la matrice
//3. transformation matrice C++ en matrice java
matriceCtJ(env, matriceCalcul, matriceSolution);
//4. retour
return matriceSolution;
} |
Partager