IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Aide transformer code C++builder en fonction C++


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 17
    Par défaut Aide transformer code C++builder en fonction C++
    Bonjour, j'aimerai avoir de l'aide auprès de personne connaissant assez bien le C++ pour m'aider à transformer ce code c++ builder :
    ce code est destiner à décrypter ceci : 2661261225832724501
    pour donner le mot : teste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    53
    54
    55
    56
    57
    58
    59
    60
     
                    int l = RichEdit3->Text.Length();
                    RichEdit4->Clear();
                    String prs=this->RichEdit3->Text;
                    for(int i=4; i <= l ; i=i+4)
                      {
                            prs[i]='\n';
                            RichEdit3->Text = prs;
                      }
                    for(int i=1; i <= l; i++)
                      {
                            RichEdit4->Text = RichEdit4->Text + "a";
                      }
                    String code  = RichEdit4->Text;
                    String trans;
                    int passage[99999];
                    for(int i = RichEdit3->Lines->Count-1 ; i >= 0 ; i--)
                      {
                            if(i == RichEdit3->Lines->Count-1)
                              {
                                    trans = RichEdit3->Lines->operator [](i);
                                    passage[i] = trans.ToInt();
                              }
     
                            else
                              {
                                    trans = RichEdit3->Lines->operator [](i);
                                    trans = trans.SubString(0,trans.Length()-1);
                                    passage[i] = trans.ToInt();
                              }
                      }
                    for(int a = 0 ; a < RichEdit3->Lines->Count ; a++)
                      {
                            code[RichEdit3->Lines->Count - a] = (passage[a]-378);
                      }
                    for(int a = RichEdit3->Lines->Count+1 ; a < RichEdit4->Text.Length() ; a++)
                      {
                            code[a] = '\0';
                      }
                    for(int i = RichEdit3->Lines->Count ; i > 0 ; i--)
                      {
                            code[i] = code[i]-23;
                      }
                    for(int i =RichEdit3->Lines->Count ; i > 0 ; i=i-2)
                      {
                            code[i] = code[i]+2;
                      }
                    for(int i = RichEdit3->Lines->Count ; i > 0 ; i=i-3)
                      {
                            code[i] = code[i]-26;
                      }
                    for(int i = RichEdit3->Lines->Count ; i > 0 ; i=i-4)
                      {
                            code[i] = code[i]+14;
                      }
                    for(int i = RichEdit3->Lines->Count ; i > 0 ; i=i-5)
                      {
                            code[i] = code[i]-10;
                      }
                    Edit1->Text = code;
    en fonction C++ pour pouvoir utiliser plus-tard des dll. j'ai fait un premier teste ( comme le montre le code ci-dessous ), mais je rencontre un problème à la ligne 29 me disant que "" ( un espace ou rien) n'est pas un valeur entière et je n'arrive pas à retirer de mon tableau cette dernier valeur :/

    Merci à ceux qui pourrons m'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    String Decry(String& text)
    {
    	int l = text.Length();
    	String txt = text;
    	String tmp;
    	std::vector<String>chaine;
    	for(int i = 1; i <= l; i=i+4)
    	{
    		chaine.push_back(txt.SubString(i,3));
    	}
    	for(int i = 1; i<= l; i++)
    	{
    		tmp = tmp + "a";
    	}
    	String code = tmp;
    	String trans;
    	int passage[9999];
    	for(int i = chaine.size()-1; i >=0; i++)
    	{
    		if(i == chaine.size())
    		{
    			trans = chaine[i];	
    		}
    		else
    		{
    			trans = chaine[i];
    			trans = trans.SubString(0,trans.Length()-1);
    			passage[i] = trans.ToInt();
    		}
    	}
    	for(int a=0; a < chaine.size();a++)
    	{
    		code[chaine.size() - a] = (passage[a]-378); 
    	}
    	 for(int a = chaine.size()+1 ; a < tmp.Length() ; a++)
                      {
                            code[a] = '\0';
                      }
                    for(int i = chaine.size() ; i > 0 ; i--)
                      {
                            code[i] = code[i]-23;
                      }
                    for(int i =chaine.size() ; i > 0 ; i=i-2)
                      {
                            code[i] = code[i]+2;
                      }
                    for(int i = chaine.size() ; i > 0 ; i=i-3)
                      {
                            code[i] = code[i]-26;
                      }
                    for(int i = chaine.size() ; i > 0 ; i=i-4)
                      {
                            code[i] = code[i]+14;
                      }
                    for(int i = chaine.size() ; i > 0 ; i=i-5)
                      {
                            code[i] = code[i]-10;
                      }
                    return code;
    }

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 17
    Par défaut
    Solution trouver:

    Mon erreur de la ligne 29 etait du au fait que a la ligne 19 , comme je ne prenais pas tout la chaine pour le size() , ma chaine ne passait pas le premier if qui est la pour empecher cette erreur, il y a aussi le faite que ma boucle for était infini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    String Decrydifficile(String& text)
    {
    	int l = text.Length();
    	String txt = text;
    	String tmp;
    	std::vector<String>chaine;
    	for(int i = 1; i <= l; i=i+4)
    	{
    		chaine.push_back(txt.SubString(i,3));
    	}
    	for(int i = 1; i<= l; i++)
    	{
    		tmp = tmp + "a";
    	}
    	String code = tmp;
    	String trans;
    	int passage[9999];
    	for(int i = chaine.size(); i >=0; i--)
    	{
    		if(i == chaine.size())
    		{
    			trans = chaine[i];	
    		}
    		else
    		{
    			trans = chaine[i];
    			trans = trans.SubString(0,trans.Length());
    			passage[i] = trans.ToInt();
     
    		}
    	}
    	for(int a=0; a < chaine.size();a++)
    	{
    		code[chaine.size() - a] = (passage[a]-378); 
    	}
    	 for(int a = chaine.size()+1 ; a < tmp.Length() ; a++)
                      {
                            code[a] = '\0';
                      }
                    for(int i = chaine.size() ; i > 0 ; i--)
                      {
                            code[i] = code[i]-23;
                      }
                    for(int i =chaine.size() ; i > 0 ; i=i-2)
                      {
                            code[i] = code[i]+2;
                      }
                    for(int i = chaine.size() ; i > 0 ; i=i-3)
                      {
                            code[i] = code[i]-26;
                      }
                    for(int i = chaine.size() ; i > 0 ; i=i-4)
                      {
                            code[i] = code[i]+14;
                      }
                    for(int i = chaine.size() ; i > 0 ; i=i-5)
                      {
                            code[i] = code[i]-10;
                      }
                    return code;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/02/2015, 15h31
  2. Réponses: 3
    Dernier message: 18/07/2011, 13h57
  3. aide: lle code de la transformation 'tout ou rien'
    Par fdidiwa dans le forum Langage
    Réponses: 6
    Dernier message: 09/02/2011, 10h20
  4. Cherche QQun aide Transformation CODE JAVA -> C#
    Par alex_nicolas dans le forum C#
    Réponses: 0
    Dernier message: 04/02/2009, 10h23
  5. [VB.NET] Traduction de code c++builder -> VbNet
    Par Tempotpo dans le forum Windows Forms
    Réponses: 7
    Dernier message: 22/03/2005, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo