Форум программистов, компьютерный форум CyberForum.ru

Перевод кода с Java - C++

Восстановить пароль Регистрация
 
Севак
любитель покушать
 Аватар для Севак
674 / 625 / 106
Регистрация: 25.09.2011
Сообщений: 1,313
07.07.2013, 22:35     Перевод кода с Java #1
Здравствуйте! Есть кусок кода на java, в котором идет работа с map, пробовал переписать самостоятельно, но ничего хорошего из этого не вышло, вот что нужно перевести:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int n = Integer.parseInt(reader.readLine());
String s = reader.readLine();
 
        
        HashMap<Integer, Integer> starts = new HashMap<>();
        starts.put(0, 0);
        
        int counter = 0;
        int max = 0;
        
        for(int i=0; i<n; ++i) {
            counter = s.charAt(i) == '1' ? counter + 1 : counter - 1;
            
            if(!starts.containsKey(counter)) {
                starts.put(counter, i);
            } else {
                int pos = starts.get(counter);
                if(i - pos + 1 > max) {
                    max = i - pos + 1;
                }
            }
        }
вот моя попытка:
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <map>
 
using namespace std;
 
int main()
{
    int n;
    string s;
 
    //ifstream in("input.txt");
    //in >> n >> s;
    //in.close();
 
    cin >> n >> s;
 
    int counter = 0;
    int maxCount = 0;
 
    map<int, int> starts;
    starts[0] = 0;
 
 
 
    for(int i=0; i<n; ++i) {
        counter = (s[i] == '1') ? counter + 1 : counter - 1;
 
        if(starts[counter] == NULL) {
            starts[counter] = i;
        } else {
            int pos = starts[counter];
            if(i - pos + 1 > maxCount)
            {
                maxCount = i - pos + 1;
            }
        }
    }
 
 
 
    //ofstream out ("output.txt");
    //out << max;
    //out.close();
 
    cout << maxCount/2;
 
    return 0;
}
Добавлено через 32 минуты
Надобность в переписывании пропала, всем спасибо за внимание!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2013, 22:35     Перевод кода с Java
Посмотрите здесь:

C++ перевод кода из С++ в С
Перевод кода с Java на С++ C++
C++ Перевод кода с Java
перевод кода с C# на C++ C++
Перевод кода C++
Перевод кода С# на C++ C++
C++ Перевод кода из java в С++
C++ Перевод кода с Java на С++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
08.07.2013, 15:34     Перевод кода с Java #2
Севак, как по мне, так нужно начать отталкиваться от того, что hashmap в с++ называется unordered_map
Yandex
Объявления
08.07.2013, 15:34     Перевод кода с Java
Ответ Создать тему
Опции темы

Текущее время: 12:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru