Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 16.09.2017
Сообщений: 53

Перевести код Java на С++

29.10.2017, 14:45. Показов 777. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот Java:
Java
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
29
30
31
32
33
34
35
36
37
package com.company;
import java.util.Arrays;
import  java.lang.String;
import  java.util.Random;
class Main {
    public static void main(String[] args) {
        Random rand = new Random();
        int c = 15;
        int[] a = new int[15];
        int[] b = new int[15];
        for (int i = 0; i < 15; ++i) {
            a[i] = rand.nextInt(199) - 99;
            b[i] = a[i];
            System.out.print(a[i] + " ");
        }
        System.out.println();
        int j = 0;
        for (int i = 0; i < a.length; i++) {
            boolean isAdd = true;
            int k = 0;
            while (isAdd && k < j) {
                if (a[i] == b[k]) {
                    isAdd = false;
                }
                k++;
            }
            if (isAdd) {
                b[j] = a[i];
                j++;
            }
 
        }
        b = Arrays.copyOfRange(b, 0, j);
        for (int i = 0; i < b.length; i++) {
            System.out.print(b[i]+" ");}
    }
}
Вот попытки перевести на С++
C++
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
29
30
31
32
33
34
35
36
37
38
#include <iostream> 
#include <math.h> 
#include <string> 
using namespace std; 
int main() 
{
        int c = 15;
        int a[15];
        int b[15];
        for (int i = 0; i < 15; ++i) {
            a[i] = rand() %199-99; 
            b[i] = a[i];
            cout<< a[i] << " ";
        }
        
        cout<<endl;
        int j = 0;
        for (int i = 0; i < 15; i++) {
            bool isAdd = true;
            int k = 0;
            while (isAdd && k < j) {
                if (a[i] == b[k]) {
                    isAdd = false;
                }
                k++;
            }
            if (isAdd) {
                b[j] = a[i];
                j++;
            }
 
        }
        b = Array.copyOfRange(b, 0, j);
        for (int i = 0; i < j; i++) {
            cout<< b[i]<<" ";
          
        }
    }
Как перевести на С++ строку
Java
1
b = Arrays.copyOfRange(b, 0, j);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2017, 14:45
Ответы с готовыми решениями:

Как перевести код с паскаля на Java. Пытался сам но код не хочет работать переведенный
А сам код на паскале работает. Вот код на паскале var i,j,m,c,d: integer; A:array of integer; begin c:=1; ...

Перевести код с C++ на Java
сможет кто перевести код(желательно под NetBeans): #include &lt;iostream&gt; #include &lt;string&gt; ...

Перевести код из С на Java
#include&lt;stdio.h&gt; #define Max(a,b) (a&gt;b?a:b) typedef long double type; double N; type H1,H2; int main() { float...

3
 Аватар для al1as
386 / 74 / 31
Регистрация: 13.04.2012
Сообщений: 127
29.10.2017, 15:33
Цитата Сообщение от Dobriy_Bobr Посмотреть сообщение
Как перевести на С++ строку
Java
1
b = Arrays.copyOfRange(b, 0, j);
Не знаю, есть ли в этой строке смысл для этой программы, т.к. всё что мы дальше делаем с массивом - выводим первые j элементов. То есть её можно просто выкинуть здесь, и результат не изменится. Если массив b нужно возвращать, тогда аналогичный метод будет примерно такой (в методе очищаю память для предыдущей версии массива, если его кто-то извне ещё планирует использовать, то delete[] b не нужно):
C++
1
2
3
4
5
6
int* copyOfRange(int* b, int start, int end) {
    int* newB = new int[end-start];
    std::copy(b+start, b+end, newB);
    delete[] b;
    return newB;
}
И память под массивы для этого лучше выделять в куче:
C++
1
2
3
4
5
6
7
int* b = new int[15];
...
 
b = copyOfRange(b, 0, j);
...
 
delete[] b;
1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,765
29.10.2017, 16:13
Цитата Сообщение от al1as Посмотреть сообщение
И память под массивы для этого лучше выделять в куче:
Не лучше. Лучше использовать std::vector.
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
03.11.2017, 11:46
C++
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <vector>
#include <random>
#include <algorithm>
#include <functional>
#include <iterator>
#include <set>
 
template <typename T> void PrintVector(const std::vector<T>& vector, const char* const separator = " ") 
{
  if (!vector.empty())
  {
    std::copy(vector.begin(), --vector.end(), std::ostream_iterator<T>(std::cout, separator));
    std::cout << vector.back() << std::endl;
  }
}
 
void RemoveDuplicatesAndPreserveOrder(std::vector<int>& vector)
{
  std::set<int> uniqieElements;
  
  auto newEnd = std::remove_if(vector.begin(), vector.end(), [&uniqieElements](const int& value)
  {
    if (uniqieElements.find(value) != std::end(uniqieElements))
      return true;
    else
    {
      uniqieElements.insert(value);
      return false;
    }
  });
  vector.erase(newEnd, vector.end());
}
 
int main()
{
  std::random_device randomDevice;
  std::mt19937 mersenneEngine(randomDevice());
  std::uniform_int_distribution<int> distribution(-99, 99);  
  auto generator = std::bind(distribution, mersenneEngine);
  
  std::vector<int> a(15);
  std::generate(a.begin(), a.end(), generator);
  std::vector<int> b(a);
  
  PrintVector(a);
  
  RemoveDuplicatesAndPreserveOrder(b);
  
  PrintVector(b);  
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2017, 11:46
Помогаю со студенческими работами здесь

Перевести код с С++ на Java
код:#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; #include &lt;cstdlib&gt; using namespace std; double f(double x) { ...

Нужно перевести код из C++ на java
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace std; const double PRECISION = 0.0000001; double f(double...

Не могу код C# перевести на Java
Вот УСЛОВИЕ на всякий случае ! Заданы три массива: х={x1,x2,х3,х4,х5}; у = {y1,y2,y3,y4,y5,y6}; z={z1,z2,z3,z4}. Упорядочить по...

Не могу перевести код из C# в JAVA
не могу перевести код из C# в JAVA. Я очень плохо знаю классы((( public class Program { public static void Main(string...

Перевести простой код Си на Java
Ну вот как то так))) Названиет темы говорит само за себя. Не имею понятия как перевести это в джава особенно функцию scanf() ((( ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru