Quick actions

cmd+k|ctrl+k

Navigation

Languages

Без названия

Snippet info

Language

Cpp

Visibility

public

Author

polinalepehina

Created

2019-12-01T14:56:42Z

Updated

2019-12-08T19:05:51Z

#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();
}
INFO