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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Севак
любитель покушать
681 / 632 / 106
Регистрация: 25.09.2011
Сообщений: 1,313
#1

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

07.07.2013, 22:35. Просмотров 484. Ответов 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 минуты
Надобность в переписывании пропала, всем спасибо за внимание!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2013, 22:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод кода с Java (C++):

Перевод кода с Java на С++ - C++
Помогите перевести следующий код с Java на C++: import java.io.File; import java.io.IOException; import java.util.Scanner; ...

Перевод кода с Java на С++ - C++
Помогите перевести следующий код с Java на C++: * Вызывающий класс*/ public class Main{ public static void main(String args){ ...

Перевод кода с Java - C++
Здравствуйте! Есть код на java, который работает недостаточно быстро, для его ускорения решил переписать его на c++, вот что вышло,...

Перевод кода с Java на С++ - C++
Такой вот код нужно перевести. import java.io.*; import java.math.BigInteger; import java.util.*; public class Main { /** *...

Перевод кода из java в С++ - C++
Делаю попытку создать хоть какую то стратегию http://russianaicup.ru/post/2#comment-926 ,помогите перевести код на с++. Или хотя бы как...

Перевод кода на с++ - C++
Program z15_1_6; const n=5; const m=5; var massiv:array of integer; row,column,exchange:integer; flag:boolean; begin ...

1
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
08.07.2013, 15:34 #2
Севак, как по мне, так нужно начать отталкиваться от того, что hashmap в с++ называется unordered_map
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2013, 15:34
Привет! Вот еще темы с ответами:

Перевод кода из C# в C++ - C++
Имеется исходный код на C#: using System; using System.Collections.Generic; using System.Linq; using System.Text; public...

Перевод кода С# на С++ - C++
Данный код написан на языке С#. Необходимо перевести на язык С++. namespase WindowsFormsApplication1 { public partial class...

Перевод кода из c в c++ - C++
Помогите перевести код из c в c++ строки 86,239,403 выдают одну и туже ошибку... #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...

Перевод кода - C++
Переведите пжалуйста код на паскаль #include&lt;iostream&gt; #include&lt;string&gt; using namespace std; unsigned long long res=1; int n,len;...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru