2016-04-05 62 views
-3

我想要計算一個單詞中每個字母的幻影數量,然後用1標記字母的前半部分,中間(如果單詞是奇數) 2,第二個一半3.一個字中字母的頻率

例如:

偶數:ddaadd應111333

奇數:dddaa應該是12313

這是代碼我到目前爲止(我設法計算了單詞中每個字母的頻率; fo例如,對於ddaadd我的輸出是:442244):

#include <iostream> 
#include <iomanip> 
#include <map> 
#include <string> 
#include <cstdlib> 

using namespace std; 

int main() 
{ 

    map <char, int> letters,letters2; 
    string cuvant; 
    cout<<"Scrie un cuvant"<<endl; 
    getline(cin, cuvant); 

for ( int i=0; i< cuvant.size(); ++i) 
{ 
    letters[cuvant[i]]++; 
} 

for ( int i=0; i< cuvant.size(); ++i) 
{ 
    cout<<letters[cuvant[i]]; 
} 


} 
+3

這聽起來像你可能需要學習如何使用調試器來逐步執行代碼。使用一個好的調試器,您可以逐行執行您的程序,並查看它與您期望的偏離的位置。如果你打算做任何編程,這是一個重要的工具。進一步閱讀:** [如何調試小程序](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)** – NathanOliver

+0

在這個「問題」中沒有問題, – Ceros

+0

@NathanOliver:對我的回答公平的評論 - 我刪除了它。 –

回答

0

好的,你有第一部分。您可能想要了解調試器以瞭解發生了什麼。我推薦visual studio 2015和tutorial here

我的猜測是你所要做的就是將字符串切成兩半,如果兩邊都有字母(就像它的鏡像一樣)。我可以嘗試稍後嘗試,但現在,請嘗試編寫一個算法,檢查字符串的前面和後面是否有相同的字符。繼續嘗試並推動。