Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include<string.h>
- using namespace std;
- template <class T>
- int realmain(int size, int seed, char*str)
- {
- T *arr = new T[size];
- arr=initialization_arr(size, seed, arr);
- xor(size,arr,str);
- printf_new_Arr(size, arr, str);
- delete[]arr;
- delete[]str;
- return 0;
- }
- template <class T>
- T* initialization_arr(int size, int seed, T*arr)
- {
- int i;
- srand(seed);
- for (i = 0; i < size; i++) {
- arr[i] = rand() % 255;
- }
- for (i = 0; i < size; i++)
- cout <<"arr[i]=" <<arr[i] << endl;
- return arr;
- }
- template <class T>
- void xor(int size, T*arr, char*str)
- {
- int i, low_value = {};
- if (size < strlen(str))
- {
- low_value = size;
- }
- else
- {
- low_value = strlen(str);
- }
- for ( i = 0; i < low_value; i++)
- {
- arr[i]=arr[i]^str[i];/*השמה של העים */
- cout << "strlen=" << strlen(str) <<"size="<<size<<"i="<<i<< endl;
- cout << "this is new arr" << arr[i] << endl;
- }
- }
- template <class T>
- void printf_new_Arr(int size, T*arr,char*str)/*הדפסת ערכים של המערך*/
- {
- int i, low_value =0;
- if (size < strlen(str))/*לקבל את הערך הקטן ביותר*/
- {
- low_value = size;
- }
- else
- {
- low_value = strlen(str);
- }
- for (i = 0; i < low_value; i++)
- {
- cout << arr[i] << endl;
- }
- }
- int main(int argc, char* argv[])
- {
- int numof_led = 0;
- int size = atoi(argv[2]);
- int seed = atoi(argv[4]);
- numof_led = strlen(argv[3]);/*מספר התווין במערך*/
- char*str = new char[numof_led+1];/*הקצאה למערך STR*/
- strcpy(str,argv[3]);/*העתקה למערך החדש.*/
- if (strcmp(argv[1], "int") == 0)
- {
- return realmain<int>(size,seed,str);
- }
- if (strcmp(argv[1], "long") == 0)
- {
- return realmain<long>(size,seed,str);
- }
- if (strcmp(argv[1], "char") == 0)
- {
- return realmain<char>(size,seed,str);
- }
- return 0;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement