Написать пост

Несколько моих АмГУ'шных лаб по C++. Часть 1.

Лабораторные работы по си плюс плюс))

Объектно-ориентированный анализ, программирование.

Часть 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

 

 

26 февраля 2016 года в 15:26
Поддержать автора

Коментарии