Untitled
unknown
c_cpp
3 years ago
4.1 kB
3
Indexable
#include <iostream> #include <conio.h> #include <string> #include <cmath> using namespace std; void AreaAndPerimetr(); void FibbonachiAndFactorial(); void SimpleAndNOD(); void BinaryConverter(); int Area(int, int); int Perimetr(int, int); void DrawRectangle(int, int, char); void Fibbonacci(int); long long Factorial(int); string Prime(int); int FindNOD(int, int); string ConvertToBinary(long long); int main() { setlocale(LC_ALL, "rus"); cout << "Введите 1 для первого задания, 2 для второго, 3 для третьего и любой другой символ для 4\n"; switch (_getch()) { case '1': AreaAndPerimetr(); break; case '2': FibbonachiAndFactorial(); break; case '3': SimpleAndNOD(); break; default: BinaryConverter(); break; } } void AreaAndPerimetr() { int length, width; cout << "Введите длину прямоугольника" << endl; cin >> length; cout << "Введите ширину прямоугольника" << endl; cin >> width; cout << "Площадь заданного прямоугольника = " << Area(length, width) << endl << "Периметр заданного прямоугольника =" << Perimetr(length, width) << endl; char symbol; cout << "Введите символ которым будет нарисован прямоугольник " << endl; cin >> symbol; DrawRectangle(length, width, symbol); } void FibbonachiAndFactorial() { int number; cout << "Введите число "; cin >> number; Fibbonacci(number); cout << "Факториал - " << Factorial(number); } void SimpleAndNOD() { int firstNumber, secondNumber; cout << "Введите 2 числа "; cin >> firstNumber >> secondNumber; cout << "первое число - " << Prime(firstNumber) << endl; cout << "второе число - " << Prime(secondNumber) << endl; cout << "Нод - " << FindNOD(firstNumber, secondNumber); } void BinaryConverter() { long long number; cout << "введите число "; cin >> number; cout << ConvertToBinary(number); } int Area(int length, int width) { int area = length * width; return area; } int Perimetr(int length, int width) { int perimetr = 2 * (length + width); return perimetr; } void DrawRectangle(int length, int width, char symbol) { for (int i = 0; i < length; i++) { for (int j = 0; j < width; j++) { cout << symbol; } cout << endl; } } void Fibbonacci(int number) { int fibbonacci, firstNumberFibonacci = 1, secondNumberFibonacci = 0; for (int i = 1; i <= number; i++) { fibbonacci = firstNumberFibonacci + secondNumberFibonacci; firstNumberFibonacci = secondNumberFibonacci; secondNumberFibonacci = fibbonacci; cout << fibbonacci << " "; } cout << endl; } long long Factorial(int number) { long long factorial = 1; for (int i = 1; i <= number; i++) { factorial *= i; } return factorial; } string Prime(int number) { for (int i = 2; i <= sqrt(number); i++) { if (number % i == 0) { return " не является простым числом"; } } return "простое число"; } int FindNOD(int firstNumber, int secondNumber) { while (firstNumber != secondNumber) { if (firstNumber > secondNumber) { firstNumber = firstNumber - secondNumber; } else { secondNumber = secondNumber - firstNumber; } } return firstNumber; } string ConvertToBinary(long long number) { string convertedNumberToBinary = ""; while (number > 0) { convertedNumberToBinary += char(number % 2 + 48); number /= 2; } reverse(convertedNumberToBinary.begin(), convertedNumberToBinary.end()); return convertedNumberToBinary; }
Editor is loading...