Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Da se proveri dali cifrite sa po-golemi ot 3 i nechetni na 5cifreno chislo
- int n;
- cin >> n;
- int digit1 = n % 10,
- digit2 = (n / 10) % 10,
- digit3 = (n / 100) % 10,
- digit4 = (n / 1000) % 10,
- digit5 = (n / 10000) % 10;
- bool isValid =
- ((digit1 % 2 == 1) && digit1 > 3) &&
- ((digit2 % 2 == 1) && digit2 > 3) &&
- ((digit3 % 2 == 1) && digit3 > 3) &&
- ((digit4 % 2 == 1) && digit4 > 3) &&
- ((digit5 % 2 == 1) && digit5 > 3);
- cout << isValid;
- /*
- Задача: Да се напише функция, която по подадени три променливи a, b и c - ги сортира и
- след извикването на функцията стойностите на трите променливи са променени така, че да
- са сортирани възходящо ( a < b < c) – гл. 11.
- */
- void sortAscending(int& x, int& y, int& z)
- {
- int tempX = x,
- tempY = y,
- tempZ = z;
- tempX = min(x, min(y, z));
- tempZ = max(x, max(y, z));
- tempY = x + y + z - tempX - tempZ;
- x = tempX;
- y = tempY;
- z = tempZ;
- }
- /*
- Задача: Да се напише функция, която като параметър приема един двумерен масив и като
- резултат връща сумата от всички елементи, кратни на 3 и по-малки от 100 (гл. 10).
- */
- int sumMatrix(int* matrix, int width, int height)
- {
- int sum = 0;
- for (int i = 0; i < width; i++)
- {
- for (int j = 0; j < height; j++)
- {
- int number = matrix[i * width + j];
- if (number % 3 == 0 && number < 100)
- {
- sum += number;
- }
- }
- }
- return sum;
- }
- // Recursive functions
- int fibonacci(int n)
- {
- if (n == 1 || n == 0)
- return 1;
- return fibonacci(n - 1) + fibonacci(n - 2);
- }
- int gcd(int x, int y)
- {
- if (y == 0)
- return x;
- return gcd(y, x % y);
- }
- int ackerman(int m, int n)
- {
- if (m == 0)
- return n + 1;
- if (n == 0)
- return ackerman(m - 1, 1);
- return ackerman(m - 1, ackerman(m, n - 1));
- }
- // Flood Fill (obviously)
- void floodFill(int* matrix, int size, int row, int col)
- {
- matrix[row * size + col] = 2;
- if (col < size - 1 && matrix[row * size + col + 1] == 0)
- floodFill(matrix, size, row, col + 1);
- if (col > 0 && matrix[row * size + col - 1] == 0)
- floodFill(matrix, size, row, col - 1);
- if (row < size - 1 && matrix[(row + 1)* size + col] == 0)
- floodFill(matrix, size, row + 1, col);
- if (row > 0 && matrix[(row - 1)* size + col] == 0)
- floodFill(matrix, size, row - 1, col);
- }
- // Умножение на матрици
- void multiplyMatrix(int matrix1[][100], int matrix2[][100], int result[][100], int size)
- {
- for (int i = 0; i < size; i++)
- {
- for (int j = 0; j < size; j++)
- {
- int sum = 0;
- for (int k = 0; k < size; k++)
- {
- sum +=
- matrix1[i][k] * matrix2[k][j];
- }
- result[i][j] = sum;
- }
- }
- }
- void multiplyMatrix(int* matrix1, int* matrix2, int* result, int size)
- {
- for (int i = 0; i < size; i++)
- {
- for (int j = 0; j < size; j++)
- {
- int sum = 0;
- for (int k = 0; k < size; k++)
- {
- sum +=
- matrix1[i * size + k] * matrix2[k * size + j];
- }
- result[i * size + j] = sum;
- }
- }
- }
- // Функции с char*
- char* strcat(char* x, char* y)
- {
- int index = 0;
- while (x[index] != '\0')
- {
- index++;
- }
- int secondIndex = 0;
- while (y[secondIndex] != '\0')
- {
- x[index + secondIndex] = y[secondIndex];
- secondIndex++;
- }
- x[index + secondIndex] = '\0';
- return x;
- }
- int strlen(char* text)
- {
- int index = 0;
- while (text[index] != '\0')
- {
- index++;
- }
- return index;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement