Лабораторная 6

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> #include <time.h> #include <set> #include <iomanip> using namespace std; int Task18() //18.Дан массив A. Определить сумму знакочередующейся последовательности A[1] – А[2] + А[3] – A[4] + ... . //Условную инструкцию и операцию возведения в степень не использовать. { int n; cout << "Введите количество чисел\n> "; cin >> n; double* A = new double[n], sign = 1., sum = 0.; cout << "Введите " << n << " чисел:\n> "; for (int i = 0; i < n; i++) { cin >> A[i]; sum += sign * A[i]; sign = -sign; } cout << "sum = " << sum << "\n"; delete[]A; system("pause"); return 0; } int Task53() //53. Сформировать массив простых чисел, не превышающих заданное натуральное число N { int i, n; srand(time(0)); cout << "Введите число: " << endl; cin >> n; double* m = new double[n]; for (i = 0; i < n; i++) { m[i] = rand() % n; } cout << endl << "Result:" << endl; for (i = 0; i < n; i++) { cout << m[i] << " " << endl; } delete[] m; system("pause"); return 0; } int Task88() //88. Имеются данные о сумме очков, набранных в чемпионате каждой из футбольных команд. //Выяснить, перечислены ли команды в списке в соответствии с занятыми ими местами в чемпионате. { srand(time(0)); int A[10]; for (int i = 0; i < 10; i++) { A[i] = rand() % 21; cout << A[i] << endl; } cout << endl; for (int i = 0; i < 10; i++) { if (A[i] < A[i + 1]) { cout << "Команды не в правильном порядке! "; break; } else cout << " "; } delete[] A; return 0; } int Task123() //123. Дана последовательность целых положительных чисел. Найти произведение только тех из них, которые больше заданного числа М. //Если таких чисел нет, то выдать сообщение об этом. { unsigned count; unsigned result(1); unsigned number_m; bool contains = false; cout << "Введите количество чисел : "; cin >> count; if (count < 0) return 0; unsigned* numbers = new unsigned int[count]; for (unsigned i = 0; i < count; i++) { cout << " Number " << i + 1 << " from " << count << " : "; cin >> numbers[i]; } cout << "\nВведите число M : "; cin >> number_m; for (unsigned i = 0; i < count; i++) { if (numbers[i] > number_m) { result *= numbers[i]; if (!contains) { cout << numbers[i]; contains = true; } else cout << "*" << numbers[i]; } } if (contains) cout << " = " << result << endl; else cout << "Все числа меньше " << number_m <<" либо равны" << endl; system("pause"); delete[] numbers; return 0; } int Task158() //158. Дан массив чисел. Найти минимальный элемент массива. { int N, i, j, Min; int a[10]; N = 10; for (i = 0; i < N; i++) { a[i] = 1 + rand() % 155; } for (i = 0; i < N; i++) { cout << "a[" << i << "]=" << a[i] << endl; } Min = a[0]; for (i = 1; i < N; i++) { if (Min > a[i]) Min = a[i]; } cout << "\nНаименьший элемент = " << Min << endl; delete[] a; return 0; } int Task193() //Дан целочисленный массив А[n],если среди элементов есть одинаковые, вывести соответствующее сообщение. { srand(time(0)); int rows = 3, col = 3; int** arr = new int* [rows]; for (int i = 0; i < rows; ++i) { arr[i] = new int[col]; for (int j = 0; j < col; ++j) arr[i][j] = 1 + rand() % 112; } for (int i = 0; i < rows; ++i) { for (int j = 0; j < col; ++j) cout << setw(5) << arr[i][j]; cout << endl; } set<int> without_rep_arr; for (int i = 0; i < rows; ++i) without_rep_arr.insert(*(arr + i), (*(arr + i) + col)); if (without_rep_arr.size() < rows * col) cout << "\nrepeated" << endl; else cout << "\nnot repeated" << endl; system("pause"); delete[] arr; return 0; } int main() { setlocale(LC_ALL, "russian"); Task18(); Task53(); Task88(); Task123(); Task158(); Task193(); }
Editor Settings
Theme
Key bindings
Full width
Lines