#include <cmath>
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctime>
#include <iomanip>
#include <locale>
using namespace std;
void task8()
{
setlocale(LC_ALL, "Russian");
cout << " Task 8" << endl;
cout << "Заполнить массив:" << endl;
cout << "а) десятью первыми членами арифметической прогрессии(первый член прогрессии — а, ее разность — р);" << endl;
cout << "б) двадцатью первыми членами геометрич.прогрессии(первый член прогрессии — а, ее знаменатель — z);" << endl;
cout << "в) двенадцатью первыми членами последовательности Фибоначчи(последовательности, в которой первые два члена равны 1, а каждый следующий равен сумме двух предыдущих)." << endl;
cout << "\n\n";
const int N1 = 10;
int A[N1];
int i, a, p;
cout << "Input a, p: " << endl;
cin >> a >> p;
for (i = 0; i < N1; i++) {
A[i] = a;
a += p;
cout << A[i] << "\t";
}
cout << "\n";
const int N2 = 20;
int B[N2];
int b, z, j;
cout << "Input a, z: " << endl;
cin >> b >> z;
for (j = 0; j < N2; j++) {
B[j] = b;
b *= z;
cout << B[j] << "\t";
}
cout << "\n";
const int N3 = 12;
int C[N3];
C[0] = 1;
C[1] = 1;
cout << " 1 1 ";
int q, c;
for (q = 2; q < 12; q++) {
C[q] = C[q - 2] + C[q - 1];
cout << C[q] << "\t";
}
cout << "\n\n";
}
void task43()
{
setlocale(LC_ALL, "Russian");
cout << " Task 43" << endl;
cout << "У вас есть доллары. Вы хотите обменять их на гривни. Есть информация о стоимости купли-продажи в банках города. В городе N банков. Составьте программу, определяющую, какой банк выбрать, чтобы выгодно обменять доллары на гривни." << endl;
int N, i, min, n = 0;
cin >> N;
int* A = new int[N];
for (size_t i = 0; i < N; i++) {
cout << (A[i] = 20 + rand() % 11) << "\t";
}
min = A[0];
int j = 0;
for (size_t i = 0; i < N; i++) {
if (A[i] < min) {
min = A[i];
j = i;
}
}
cout << endl;
cout << "Выгодный курс в банке № " << j + 1 << " __ " << min << endl;
}
void task78()
{
setlocale(LC_ALL, "Russian");
cout << " Task 78" << endl;
cout << "Дана непустая и упорядоченная по возрастанию последовательность целых чисел, оканчивающаяся числом 10 000. Определить порядковый номер первого числа, большего заданного n. Если таких чисел в последовательности нет, то на экран должно быть выведено соответствующее сообщение." << endl;
int a, k = 1;
double n;
cout << "n = ";
cin >> n;
cout << "Enter set elements (10000 - exit):\n";
cin >> a;
while (n > a) {
cin >> a;
k++;
if (a > 10000) {
cout << "The sequence contains no number greater than the given n" << endl;
break;
}
}
if (a < 10000) {
cout << "number = " << k << endl;
cout << "Numbers more than " << n << " are absent\n";
}
}
void task113()
{
setlocale(LC_ALL, "Russian");
cout << " Task 113" << endl;
cout << "В одномерный массив вещественных чисел на 8-е место вставить элемент, равный сумме первых 10 элементов массива. " << endl;
double SIZE = 12;
double* Massive = new double(++SIZE);
for (size_t i = 0; i < SIZE; i++)
{
cout << (Massive[i] = rand() % 100) << "\t";
}
double sum = 0;
for (size_t i = 0; i < 10; i++)
{
sum += Massive[i];
}
cout << endl << "Sum -> " << sum << endl;
for (size_t i = SIZE - 1; i >= 8; i--)
{
Massive[i] = Massive[i - 1];
}
cout << endl << "New massive -> {";
for (size_t i = 0; i < SIZE; i++)
{
if (i == 8)
Massive[8] = sum;
cout << Massive[i] << "\t";
}
cout << "}";
}
void task148()
{
setlocale(LC_ALL, "Russian");
cout << " Task 148" << endl;
cout << "Даны вещественное число х и массив А[n]. В массиве найти два члена, среднее арифметическое которых ближе всего к х." << endl;
int n;
cout << "введи количество символов в массиве ==> ";
cin >> n;
int* arr;
arr = new int[n];
bool l;
cout << "0 - заполнить массив самому\n1 - заполнить рандомно\n";
cin >> l;
if (l == 0)
{
for (int i = 0; i < n; i++)
{
cout << "введи элемент [" << i + 1 << "]";
cin >> arr[i];
}
}
else
{
srand(time(NULL));
for (int i = 0; i < n; i++)
{
arr[i] = rand() % 20;
cout << arr[i] << " ";
}
}
cout << endl;
int x;
cout << "введи х ==> ";
cin >> x;
double f = abs((arr[0] + arr[1]) / 2), t;
for (int i = 0; i < n - 1; i++)
{
for (int j = i; j < n; j++)
{
double b = abs((arr[i] + arr[j]) / 2);
t = abs(x - b);
if (x == b)
{
cout << "совпадение: среднее арифметическое " << arr[i] << " и " << arr[j] << " = " << b << endl << endl;
goto loop;
}
else if (t < f)
{
cout << "новое среднее ближе всего к х: среднее арифметическое " << arr[i] << " и " << arr[j] << " = " << b << endl << endl;
f = t;
}
}
}
loop:
cout << "найдено совпадение,выход из программы\n";
}
void task182()
{
setlocale(LC_ALL, "Russian");
cout << " Task 182" << endl;
cout << "В массив, упорядоченный по возрастанию значений элементов, добавить новое число так, чтобы не нарушить упорядоченность " << endl;
int n = 5;
int* massiv = new int[n];
int pos; // позиция, на которую надо добавить
pos = n;
for (int i = 0; i < n; i++)
massiv[i] = rand() % 100;
int min = massiv[0];
int max = massiv[0];
int t = 0;
for (size_t j = 0; j < n; j++)
{
for (int i = 0; i < n - 1; i++)
{
if (massiv[i] > massiv[i + 1])
{
t = massiv[i];
massiv[i] = massiv[i + 1];
massiv[i + 1] = t;
}
if (min > massiv[i])
{
min = massiv[i];
}
if (max < massiv[i])
{
max = massiv[i];
}
}
}
for (int i = 0; i < n; i++)
cout << massiv[i] << " ";
cout << endl << "Max -> " << max << endl << "Min -> " << min;
int a;//добавляемое число
cout << endl;
cin >> a;
for (int i = 0; i < n; i++)
{
if (massiv[i] < a)
{
pos = i;
break;
}
}
for (int i = n - 1; i >= pos; i--)
{
massiv[i] = massiv[i - 1];
}
massiv[pos] = a;
for (size_t j = 0; j < n; j++)
{
for (int i = 0; i < n - 1; i++)
{
if (massiv[i] > massiv[i + 1])
{
t = massiv[i];
massiv[i] = massiv[i + 1];
massiv[i + 1] = t;
}
}
}
for (int i = 0; i < n; i++)
{
cout << massiv[i] << " ";
}
}
int main()
{
void task8();
void task43();
void task78();
void task113();
void task148();
void task182();
}