TopMetaFizick
@TopMetaFizick
Все двоит и троит...

В чем ошибка кода?

#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, далее этот массив идет в функцию, она открывает поток записи и записывает в файл кол-во делителей каждого числа, и определяет простое или комплексное число. Но ничего не работает..
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы