Часть 1. Развевляющиеся программы
Задание 1.1. Написать программу для вычисления значения функции F. Учитывать область определения функции F. Значения действительных величин a, b, c, x вводить с клавиатуры.
#include
using namespace std;
int main ()
{
int result;
setlocale(0,"");
double a,b,c,x;
cout << "Введите значения
А:";
cin >> a;
cout << "
В:";
cin >> b;
cout << "
С:";
cin >> c;
cout << "
Х:";
cin >> x;
if(a < 0 && x != 0)
{
result = x*(a*x - b*b);
} else if( a > 0 && x == 0)
{
result = x - (a/(x-c));
} else {
result = 1 + (x/c);
}
cout << "F = " << result;
return 0;
}
Введите значения A:15 B:19 C:6 X:27 F = 5
Задание 1.2. Ввести с клавиатуры трехзначное число и определить:
а) какие из его цифр больше пяти;
б) является ли сумма его цифр четной.
#include
using namespace std;
int main(){
setlocale(0,"");
int k,a,b,c;
cout << "Введите 3-х значное число: ";
cin >> k;
//из 165 выводит число k/100 или k/100%10 = 1, k/10 = 16, k%100 = 65, k%10 = 5, k%1 = 0, k/10%10 = 6,
a=k/100%10; // 0xx
b=k/10%10; // x0x
c=k%10; //xx0
if((a<=5)&&(b<=5)&&(c<=5)){
cout << "Нет значений больше 5";
}
if(a>5){
cout << "1-е больше 5
";
}
if(b>5){
cout << "2-е больше 5
";
}
if(c>5){
cout << "3-е больше 5
";
}
if(((a+b+c)%2) == 0){
cout << "сумма цифр - четное
";
}
if(((a+b+c)%2) == 1){
cout << "сумма цифр - НЕ четное
";
}
}
Введите 3-х значное число: 164 2-е больше 5 сумма цифр - НЕ четное
Задание 1.3. Написать программу с использованием оператора switch:
С клавиатуры ввести целое число (3, 4, 5, 6, 7, 8) в зависимости от значения которого на экране вывести название многоугольника, содержащего указанное число сторон, например 3 – треугольник. Предусмотреть вывод сообщения об ошибке, если введенное число не соответствует заданному диапазону.
#include
using namespace std;
int main(){
setlocale(0,"");
int ugl;
cout<<"Число углов = ";
cin>>ugl;
switch (ugl)
{
case 3: cout<<"Треугольник
"; break;
case 4: cout<<"4-х угольник
"; break;
case 5: cout<<"5-ти угольник
"; break;
case 6: cout<<"6-ти угольник
"; break;
case 7: cout<<"7-ми угольник
"; break;
case 8: cout<<"8-ми угольник
"; break;
default:
cout<<"Упсс! Ошибочка! Нужно вводить числа только = 3, 4, 5, 6, 7, 8
";
}
return 0;
}
Число углов = 6 6-ти угольник
Часть 2. Циклические программы
Написать программу для вычисления значений f(x). Значения аргумента x вводить с клавиатуры.
#include
#include
using namespace std;
int main(){
setlocale(0,"");
double s=0 ,x=0;
cout << "Введите значение Х: ";
cin>>x;
for (int i = 1; i <= 23; i++) {
s+=((pow((x/3),2))/((2*i)+1));}
cout<
Введите значение Х: 2 0.698141
Часть 3. Одномерные массивы
Задание 3.1. Элементы одномерного массива задать счетчиком случайных чисел в диапазоне от a до b. Посчитать значение Х, в котором К+ - кол-во положительных элементов, К- - кол-во отрицательных элементов.
| a | b | Х |
| -12 | 36 | (k+ + k-)/(k+ * k-) |
#include
#include
#include
using namespace std;
int main(){
setlocale(0,"");
double plus=0;
double min=0;
srand(time(NULL));
int massiv[9];
int i;
for (i=0;i<10;i++){
massiv[i] = rand()%36+(-12);
cout << massiv[i] << " ";
if (massiv[i]>=0){
plus++;
}
if (massiv[i]<0){
min++;
}
}
cout<<"
Кол-во положительных элементов: "<
-3 10 -3 16 10 -4 15 9 19 -5 Кол-во положительных элементов: 6 Кол-во отрицательных элементов: 4 Х = 0.416667
Задание 3.2. Элементы массива размерности 15 задать с клавиатуры.
Посчитать среднее арифметическое максимального и минимального из его элементов.
#include
using namespace std;
int main(){
setlocale(0,"");
int i, massiv[15];
cout <<"Введите 15 элементов
";
for (i=0;i<15;i++)
cin >> massiv[i];
int max = massiv[0]; //max
int min = massiv[0]; //min
for (i=0;i<15;i++){
if (massiv[i] > max) {//max
max = massiv[i];//max
}//max
if (massiv[i] < min) {//min
min = massiv[i];//min
}//min
}
cout<<"MAX: "<< max << "
";
cout<<"MIN: "<< min << "
";
cout<<"RESULT: "<< (max+min)/2 << "
";
}
Введите 15 элементов 3 5 2 7 1 12 9 4 3 17 21 8 11 10 2 MAX: 21 MIN: 1 RESULT: 11
Часть 4. Двумерные массивы
Задание 4.1. Составить программу. В матрице размерности 8x9 определить произведение элементов в каждом втором столбце. Найти минимум среди положительных матриц.
#include
#include
#include
int main()
{
int Matrix[255][255];
srand(time(NULL));
int min = INT_MAX;
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 9; j++)
{
Matrix[i][j] = rand()%5;
if (Matrix[i][j] < min && Matrix[i][j] > 0) min = Matrix[i][j];
std::cout << " " << Matrix[i][j];
}
std::cout << "
";
}
int result[5];
for (int i = 0; i < 5; ++i)
result[i] = 1;
int count = -1;
for (int i = 0; i < 8; i+=2)
{
++count;
for (int j = 0; j < 9; j++)
{
result[count] *= Matrix[i][j];
}
std::cout << "
";
}
for (int i = 0; i < 5; ++i)
std::cout << result[i]<< " ";
std::cout << std::endl;
std::cout << "Minimum is : " << min;
system("pause>>null");
}
0 0 4 3 1 2 2 3 4 2 0 3 4 1 4 3 4 3 4 0 3 2 0 0 4 1 4 2 4 4 0 4 3 2 3 4 2 4 2 4 1 1 0 1 2 2 0 2 0 0 4 1 3 1 0 0 2 4 1 3 2 1 2 3 4 0 3 2 3 4 2 4 0 0 0 0 1 Minimum is : 1