Задание 1:
Дано целое число. Найти количество его цифр и их сумму.
Задание 2:
Дана последовательность целых чисел (вводятся с клавиатуры), последний элемент которой — число 0. Найти сумму всех положительных элементов этой последовательности и количество её отрицательных элементов. Организовать функцию для выполнения задания.
Задание 3:
Дано вещественное число X и целое число N (> 0). Найти значение выражения:
1 + X + X2/(2!) + … + XN/N!
Организовать функцию для выполнения задания.
Листинг:
#include <iostream>
#include "fCountSum.h"
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int n;
cout << "Введите число: ";
cin >> n;
digitsCountAndSum(n);
}
#include<iostream>
using namespace std;
void digitsCountAndSum(int n) {
int i = 0, sum = 0, count = 0;
while (n >= 1) {
i++;
sum += n % 10;
n /= 10;
}
cout << "Кол-во цифр: " << i << endl;
cout << "Сумма числа: " << sum << endl;
}
Результат выполнения:
Листинг:
#include <iostream>
#include <limits>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int num;
int count = 0, sum = 0;
while (1>0) {
Input:
cout << "Введите цифру: ";
cin >> num;
if (cin.fail()) //проверка
{
cout << "Неверный ввод!" << endl;
cin.clear();
while (cin.get()!= '\n');
goto Input;
}
if (num == 0)
break;
if (num < 0)
count++;
if (num > 0)
sum+=num;
}
cout << "Сумма положительных цифр: " << sum << endl;
cout << "Количество отрицательных цифр: " << count << endl;
system("pause");
return 0;
}
Результат выполнения:
Листинг:
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int i, N;
double itog, a, x;
itog = 1;
Input:
cout << "Введите Х: ";
cin >> x;
if (cin.fail()) {
cout << "Неверный ввод!" << endl; // выдать сообщение
cin.clear(); // очистить флаги ошибок потока
while (cin.get()!= '\n'); // очистить данные потока
goto Input; // и повторить ввод
}
cout << "Введите N: ";
cin >> N;
a = 1;
for (i = 1; i <= N; i += 1) {
a *= x / i;
itog += a;
}
cout << "Ответ: " << itog << endl;
}
Результат выполнения:
Лабораторная работа № 5
1. Написать программу вычисления площади поверхности прямоугольного параллелепипеда. Ввести три переменные: длина, ширина и высота. Проинициализировать переменные некоторыми значениями, исходные данные и результат расчета вывести на экран. Предусмотреть тестовый пример, который легко решается в уме. |
2. Написать программу вычисления сопротивления электрической цепи, состоящей из двух элементов, сопротивлением R1 и R2, которые могут быть соединены последовательно или параллельно. Предусмотреть проверку некорректности исходных данных (например, нулевое сопротивление при параллельном соединении или отрицательное значение сопротивления). |
3. Задаются числа m и n. Определить число k – разность наибольшего числа и наименьшего числа, расположенных между между m и n и являющихся полными квадратами. Результат расчета вывести на экран. Предусмотреть тестовый пример, который легко решается в уме. |
Листинг:
#include <iostream>
#include <iostream>
#include <string>
using namespace std;
int _1();
int _1()
{
int S;
int a = 2;
int b = 3;
int c = 4;
cout << "a = " << a << " b = " << b << " c = " << c << endl;
S = 2 * (a + b + c);
cout << "S = " << S << endl;
return S;
}
int _2();
int _2()
{
int x, right_x, left_x;
cin >> x;
if (x < 1 || x > 999) {
cout << "error" << endl;
return 0;
}
left_x = x;
right_x = x;
if (x > 100) {
left_x = x % 100;
right_x = x % 10;
}
else if (x > 10)
right_x = x % 10;
if (left_x >= 5 && left_x <= 20)
cout << x << " rubley" << endl;
else if (right_x == 1)
cout << x << " rubl" << endl;
else if (right_x >= 2 && right_x <= 4)
cout << x << " rublya" << endl;
else
cout << x << " rubley" << endl;
return 0;
}
int main()
{
int num;
cin >> num;
if (num == 1)
_1();
else if (num == 2)
_2();
main();
}
Результат выполнения:
Листинг:
#include <iostream>
using namespace std;
int main()
{
setlocale(0, "rus");
double r1, r2, c, posl, par;
posl = 0;
par = 0;
cout << "Введите R1 = ";
cin >> r1;
cout << "Введите R2 = ";
cin >> r2;
cout << "Введите тип соединения (последовательное - нажмите 1, параллельное - нажмите 2) - ";
cin >> c;
if (c == 1) {
posl = (r1 + r2);
cout << "Последовательное соединение с такими сопротивлениями = " << posl << endl;
}
else {
par = (r1 * r2) / (r1 + r2);
cout << "Параллельное соединение с такими сопротивлениями = " << par << endl;
};
}
Результат выполнения:
Листинг:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int m, n, a, b;
cin >> m;
cin >> n;
a = 0;
b = 0;
if (m > n) {
do {
n++;
if (n % 5 == 0) {
a = n;
break;
}
} while (n!= m);
do {
m--;
if (m % 7 == 0) {
b = m;
break;
}
} while (m!= n);
}
else if (m < n) {
do {
m++;
if (m % 5 == 0) {
a = m;
break;
}
} while (n!= m);
do {
n--;
if (n % 7 == 0) {
b = n;
break;
}
} while (m!= n);
}
if (a!= 0 && b!= 0)
cout << b - a;
else
cout << "Error";
return 0;
}
Результат выполнения: