
- •Вариант №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
Вариант №32
Дан массив действительных чисел 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] << " "; } int y1, y2; for(int i = 0; i < n; i++) { for(int j = n-1; j > i; j--) { y1 = (int)arr[j]; y2 = (int)arr[j-1]; if(abs(y1) < abs(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; } |
Ввести символьную строку. Если ее длина равна 10, удалить все буквы - A, ... Z. Вывести преобразованную строку. Дополнительные строки не использовать. (При выводе строк использовать функцию puts). #include <stdio.h> #include <iostream>
void input_str(char*); void delNum(char*);
void main() { setlocale(LC_ALL, "Russian"); char str[100]; input_str(str); delNum(str); puts(str); } void input_str(char* str) { puts("Введите строку: "); gets(str); } void delNum(char* str) {for(int i=0; i< strlen(str); ++i) {if(str[i]>='A' && str[i]<='Z' ) {int j=i; while(j<strlen(str)) { str[j]=str[j+1]; ++j; } --i; } } } |
Вариант №33
Дан массив действительных чисел X[M]. Сформировать массив, в котором сначала записаны положительные числа исходного массива, а затем отрицательные в том порядке, в котором они находятся в исходном массиве. Вывести на экран исходный и преобразованный массивы. #include <iostream> using namespace std;
void Sort(int n, double *arr, double *arr2) { int j = 0; for(int i = 0; i < n; i++) {if(arr[i] > 0) { arr2[j++] = arr[i]; } } for(int i = 0; i < n; i++) { if(arr[i] < 0) { arr2[j++] = arr[i]; } }} void main() { int n; cout << "Razmer: "; cin >> n; double *arr = new double[n]; double *arr2 = new double[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] << " "; } int plus = 0; for(int i = 0; i < n; i++) { if(arr[i] <= 0) { plus++; } } Sort(n, arr, arr2); cout << endl; for(int i = 0; i < n; i++) { cout << arr2[i] << " "; } cout << endl; delete[] arr; delete[] arr2; } |
Вводим число, например 45678. Найти произведение данного числа и числа обратного данному числу. (т.е. 45678*87654 ). Получения обратного числа написать с помощью функции. #include <iostream> #include <windows.h>
void getInput(); void getOut(int num, int mun); int getInverse(int num); int reverse(int num, int base); int getBase(int num);
void main() { setlocale(LC_ALL,".1251"); getInput(); } void getInput() { int num, mun; puts("Введите число: "); scanf("%d", &num); mun = getInverse(num); getOut(num, mun); } void getOut(int num, int mun) { printf("\n%d * %d = %d\n", num, mun, num * mun); } int getInverse(int num) { int mun; mun = reverse(num, getBase(num)); return mun; } int getBase(int num) { int base = 1; while(base < num/10) { base *= 10; } return base; } int reverse(int num, int base) { int mun = 0; int ciph; while(num > 0) {ciph = num % 10; num = num / 10; mun += ciph * base; base /= 10; } return mun; } |