
- •Вариант №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
Вариант №34
Дан массив целых чисел X[M]. Сформировать массив, в котором сначала записаны четные числа исходного массива, а затем нечетные в том порядке, в котором они находятся в исходном массиве. Вывести на экран исходный и преобразованный массивы. #include <iostream> using namespace std;
void Sort(int n, int *arr, int *arr2) { int j = 0; for(int i = 0; i < n; i++) { if(arr[i]%2 == 0) { arr2[j++] = arr[i]; } } for(int i = 0; i < n; i++) { if(arr[i]%2 != 0) { arr2[j++] = arr[i]; } } } void main() { int n; cout << "Razmer: "; cin >> n; int *arr = new int[n]; int *arr2 = new int[n]; for(int i = 0; i < n; i++) { cout << "arr [" << i << "]: "; cin >> arr[i]; } cout << endl; for(int i = 0; i < n; i++) { cout << arr[i] << " "; } Sort(n, arr, arr2); cout << endl; for(int i = 0; i < n; i++) { cout << arr2[i] << " "; } cout << endl; delete[] arr; delete[] arr2; } |
За один просмотр определить сколько раз встречается каждый символ в данной строке. #include <stdio.h> #include <iostream>
void input_str(char*); void Check(char*, int*); void output_arr(int*);
void main() { setlocale(LC_ALL, "Russian"); char str[100]; int arr[255]={0}; input_str(str); Check(str, arr); output_arr(arr); } void input_str(char* str) { puts("Введите строку:"); gets(str); } void Check(char* str, int* arr) { for(int i=0; i< strlen(str); ++i) { ++arr[str[i]]; } } void output_arr(int* arr) { for(int i=0; i<255; ++i) if(arr[i]) printf("%c \t %d\n", i, arr[i]); } |
Вариант №35
Даны массивы целых чисел A[N] и B[N]. Создать массив С[N], элементы которого получаются по следующему правилу: С[i] = max (A[i], B[i]). Определить, сколько элементов С[i] получило значение A[i]. Вывести исходные массивы и результаты вычислений. #include <iostream> using namespace std;
void Vivod(int n, int *arr) { for(int i = 0; i < n; i++) { cout << arr[i] << " "; } } void main() { int n; cout << "Razmer" << endl; cin >> n; int *A = new int[n]; int *B = new int[n]; int *C = new int[n]; cout << "Massiv A" << endl; for(int i = 0; i < n; i++) { cout << "A[" << i << "]: "; cin >> A[i]; } cout << "\nMassiv B" << endl; for(int i = 0; i < n; i++) { cout << "B[" << i << "]: "; cin >> B[i]; } int j = 0; for(int i = 0; i < n; i++) { if(A[i] > B[i]) { C[i] = A[i]; j++; } else { C[i] = B[i]; } } cout << "\nMassiv A" << endl; Vivod(n, A); cout << "\nMassiv B" << endl; Vivod(n, B); cout << "\nMassiv C" << endl; Vivod(n, C); cout << "\nElementov iz massiva A " << j; cout << endl; delete[] A; delete[] B; delete[] C; } |
Ввести два положительных целых числа. Найти наибольший общий делитель этих чисел. Программа должна содержать рекурсивную функцию. #include <iostream> #include <windows.h>
void getInput(); int getNOK(int n1, int n2); int getNOD(int n1, int n2); void getOut(int res);
void main() { setlocale(LC_ALL,".1251");
getInput(); } void getInput() { int n1 = 0, n2 = 0; puts("Введите 2 числа: "); scanf("%d%d", &n1, &n2); int buf; if(n1 < n2) { buf = n1; n1 = n2; n2 = buf; } getOut(getNOD(n1, n2)); } void getOut(int res) { printf("\n%d\n", res); } int getNOD(int n1, int n2) { if(n1 % n2 != 0) { getNOD(n2, n1%n2); } else { return n2; } } |