#include <iostream>
#include <math.h>
using namespace std;
void task5()
{
cout<<"Task5\n\n";
//5.Заполнить массив из двенадцати элементов следующим образом: 1, 2, ..., 12.
int i;
string number[12] = {
"1", "2", "3",
"4", "5", "6",
"7", "8", "9",
"10", "11", "12"};
for (i=0; i<=9; i++)
{
cout << number[i] << " ";
}
cout << "\n" << endl;
}
void task40()
{
cout<<"\nTask40\n\n";
//40.Дана последовательность чисел, среди которых имеется один нуль.
//Вывести на экран все числа до нуля включительно.
int n; // количество чисел в массиве
int i; // номер
int *a = new int[n];
cout << "Введите количество чисел в массиве \n";
cin >> n;
for (i = 1; i <= n; i++ )
{
a[i] = rand() % 10;
}
i = 1;
while (a[i] != 0 && i != n)
{
cout << "Число "<< i << " = " << a[i] << endl;
i++;
}
if (i == n)
cout << "Числа 0 в последовательности нет" << endl;
else
cout << "Числo 0 имеет номер = " << i << "\n" << endl;
}
void task75()
{
cout<<"\nTask75\n\n";
//75.Дана непустая последовательность целых чисел, оканчивающаяся числом 100.
//Определить, есть ли в последовательности число 77. Если имеются несколько
//таких чисел, то определить порядковый номер первого из них.
int n; // количество чисел в массиве
int i; // номер
int *a = new int[n];
cout << "Введите количество чисел в массиве \n";
cin >> n;
// задание последовательности чисел
for (i = 1; i < n; i++ )
{
a[i] = rand() % 99;
cout << "Число "<< i << " = " << a[i] << endl;
}
a[n] = 100;
// программа расчёта
i = 1;
while (a[i] != 77 && i != n) { i++; }
if (i == n)
cout << "Числа 77 в последовательности нет" << endl;
else
cout << "Числo 77 имеет номер = " << i << endl;
}
void task110()
{
cout<<"\nTask110\n\n";
//110. На i-e место одномерного массива целых чисел вставить число, равное
//произведению первого и последнего элементов.
int n; // количество чисел в массиве
int i; // номер
int k; // номер меняемого числа
int *a = new int[n];
cout << "Введите количество чисел в массиве \n";
cin >> n;
for (i = 1; i <= n; i++ )
{
a[i] = rand() % 10;
cout << "Число "<< i << " = " << a[i] << endl;
}
cout << "Введите номер меняемого числа \n";
cin >> k;
a[k] = a[1] * a[n];
{
cout << "Число "<< k << " = " << a[k] << endl;
}
}
void task145()
{
cout<<"\nTask145\n\n";
//145.Японская радиокомпания провела опрос N радиослушателей по вопросу:
//«Какое животное вы связываете с Японией и японцами?».
//Составить программу получения k наиболее часто встречающихся ответов и их
//долей (в процентах).
int i;
int n;
int k;
int b[5];
string a[1000];
string otvet[5] = {
"макака", "журавль", "сова",
"панда", "рыба" };
// ответы японцев
cin >> n;
for (i = 1; i <= n; i++ )
{
k = rand() % 5;
a[i] = otvet[k];
cout << "Ответ - " << a[i] << endl;
}
// программа расчёта
for (k = 0; k <= 4; k++ )
{
b[k] = 0;
}
for (i = 1; i <= n; i++ )
{
for (k = 0; k <= 4; k++ )
{
if (a[i] == otvet[k] )
b[k]++;
}
}
for (k = 0; k <= 4; k++ )
{
cout<< "Ответ " << otvet[k] << " - "<< double(b[k]) * 100 / double(n) << "%"<< endl;
}
}
void task180()
{
cout<<"\nTask180\n\n";
//180.Написать программу определения в одномерном массиве вещественных чисел
//наибольшего количества последовательно расположенных положительных чисел.
int n; // количество чисел в массиве
int i; // номер
int k;
int kmax;
int *a = new int[n];
cout << "Введите количество чисел в массиве " << endl;
cin >> n;
// задание последовательности чисел
for (i = 1; i < n; i++ )
{
a[i] = rand() % 5;
cout << "Число " << i << " = " << a[i] << endl;
}
//программа расчёта
kmax=1;
k=1;
for (i=2; i<=n; i++)
{
if (a[i] == a[i-1] +1)
k++;
else
{
if (k>kmax) kmax=k;
k = 1;
}
}
cout << "Наибольшего количества последовательно расположенных положительных чисел = " << kmax << endl;
}
int main()
{
task5();
task40();
task75();
task110();
task145();
task180();
}