#include "my_mega_pack_NativeCallsClass4.h"
#include <stdio.h>
#include <locale.h>
#include <iostream>
#include <fstream>
using namespace std;
int kolvodel(int * poslChis,int SIZE) {
int colvo = 0;
int colvopr = 0;
ofstream of11;
of11.open("C:\\Users\\lenovo\\Desktop\\rj\\Лабораторная работа 4\\1 задание\\file11.txt");
for (int i = 0; i < SIZE; i++) {
for (int k = 1; k <= poslChis[i]; k++) {
if (k == 1) {
of11 << "<" << poslChis[i] << "> ";
}
if (poslChis[i] % k == 0) {
of11 << k << ",";
colvo++;
}
}
of11 << " " << "number of dividers: " << colvo << " ";
if (colvo <= 2) {
of11 << "(Simple)";
colvopr++;
}
else {
of11 << "(Complex)";
}
of11 << "\n";
colvo = 0;
}
of11 << "Total prime numbers: " << colvopr << "\n";
of11.close();
return colvopr;
}
JNIEXPORT jint JNICALL Java_my_mega_pack_NativeCallsClass4_lab41
(JNIEnv * env, jobject obj, jintArray array) {
jsize SIZE = env->GetArrayLength( array);
jint* poslChisl = env->GetIntArrayElements( array, NULL);
int mk = kolvodel(poslChisl, SIZE);
env->ReleaseIntArrayElements( array, poslChisl, JNI_ABORT);
return mk;
Посмотрите пожалуйста, я не понимаю где ошибка..
Сюда передается массив из JAVA, далее этот массив идет в функцию, она открывает поток записи и записывает в файл кол-во делителей каждого числа, и определяет простое или комплексное число. Но ничего не работает..