👤

Zadanie: daje najj c++
NSA poprosiła Cię o przetestowanie funkcji szyfrującej kody używane w armii. W ciele funkcji int test () wywołana jest funkcja encrypt( char code[12] ) szyfrująca wartości elementów tablicy code[12] i konwertująca je na jedną wartość typu int , którą funkcja ma zwrócić.
Zadeklaruj tablicę char code[12] oraz zainicjuj jej elementy kolejnymi znakami hasła "kill them all". Pomiń spacje. Niewykorzystane elementy tablicy zainicjuj wartością 0.

int encrypt( char str[] );

int test()
{
return 0;
}


Odpowiedź :

Odpowiedź:

#include<iostream>

#include<string>

#include<cstdlib>

using namespace std;

int zmien(char i)

{

   if(i=='0')

   {

       return 0;

   }

   else if(i=='1')

   {

       return 1;

   }

   else if(i=='2')

   {

       return 2;

   }

   else if(i=='3')

   {

       return 3;

   }

   else if(i=='4')

   {

       return 4;

   }

   else if(i=='5')

   {

       return 5;

   }

   else if(i=='6')

   {

       return 6;

   }

   else if(i=='7')

   {

       return 7;

   }

   else if(i=='8')

   {

       return 8;

   }

   else if(i=='9')

   {

       return 9;

   }

}

int encrypt( char str[] )

{

   string kod="";

   int szyfr=0;

   int mul=1;

   for(int i=0;i<11;++i)

   {

       kod+=to_string(str[i]);

   };

   for(int i=0;i<kod.length();++i)

   {

       szyfr+=mul*zmien(kod[i]);

       mul*=10;

   }

   return szyfr;

}

int test()

{

   //encrypt()

   return 0;

}

int main()

{

  char code[12];

  code[0]='k';

  code[1]='i';

  code[2]=code[3]=code[9]=code[10]='l';

  code[4]='t';

  code[5]='h';

  code[6]='e';

  code[7]='m';

  code[8]='a';

   encrypt(code);

   return 0;

}

Wyjaśnienie:

cudu nie ma :/ bardzo trudne zadanie bo liczba ktora wychodzi jest poza zakresem jezyka c++ . zrobilem tak ze liczba jest zapisana w int ale ze jest bardzo duza to wchodzi na ujemne wartosci