
- •Вариант №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
Вариант №30
Отсортировать по убыванию модуля элементов одномерный массив целых чисел A[N]. Исходный и преобразованный массив вывести на экран. #include <iostream> #include <math.h> using namespace std;
void Vvod(int n, int *arr) { for(int i = 0; i < n; i++) { cout << "arr["<<i <<"]: "; cin >> arr[i]; } } void Vivod(int n, int *arr) { cout << "Massiv" << endl; for(int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl;} void Func(int n, int *arr) { int elem; cout << "Sortirovka!"; for(int i=0;i<n;i++) { for( int j=n-1;j>i;j--) {if (abs(arr[j-1])>abs(arr[j])) { int x=arr[j]; arr[j]=arr[j-1]; arr[j-1]=x; } } } for(int i = 0; i < n; i++) { cout << arr[i] << " "; } } void main() { int n; cout << "Razmer:" << endl; cin >> n; int *arr = new int[n]; Vvod(n, arr); Vivod(n, arr); Func(n, arr); delete[] arr; } |
Последовательность ряда Фибоначчи определяется следующим образом: F0=0, F1= 1, Fn=F n-2+F n-1, n=2,3,4,…Ввести n и найти Fn. Программа должна содержать рекурсивную функцию. #include <iostream> #include <windows.h>
void getInput(); int f(int n); void getOut(int n);
void main() { setlocale(LC_ALL,".1251"); getInput(); } void getInput() { int n = 0; puts("Введите n: "); scanf("%d", &n); getOut(f(n)); } void getOut(int n) { printf("%d\n", n);}
int f(int n) {if(n == 0) {return 0; } else if(n == 1) {return 1; } else { return f(n-1) + f(n-2); } } |
Вариант №31
Дан массив действительных чисел X[N]. Отсортировать его по убыванию дробной части элементов. Исходный и преобразованный массив вывести на экран. #include <iostream> #include <math.h> using namespace std;
void main() { int n; cout << "Razmer:" << endl; cin >> n; double *arr = new double[n]; for(int i = 0; i < n; i++) {cout << "arr [" << i << "]: "; cin >> arr[i]; } cout << "Massiv:" << endl; for(int i = 0; i < n; i++) {cout << arr[i] << " "; } double y1, y2, n1, n2; for(int i = 0; i < n; i++) { for(int j = n-1; j > i; j--) { y1 = modf(arr[j], &n1); y2 = modf(arr[j-1], &n2); if(y1 > y2) {double x = arr[j-1]; arr[j-1] = arr[j]; arr[j] = x; } } } cout << "\n Izmenenniy massiv" << endl; for(int i = 0; i < n; i++) {cout << arr[i] << " "; } delete[] arr; } |
Организовать ввод целых чисел с клавиатуры. Определить сколько цифр в каждом числе и вывести это значение на экран. При вводе числа 0 программу завершить. Массив не использовать. #include <iostream> #include <windows.h>
int getInput(); int getCount(); void main() { setlocale(LC_ALL,".1251"); while(getInput()) { } } int getInput() { int count; puts("Введите число\n"); count = getCount(); printf("%d", count); return count; } int getCount() { char x, y= ' '; int i = 0; do { x = y; i++; }while((y = getchar()) != '\n'); if(x == '0' && i == 2) { return 0; } return i-1; }
|