Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions HomeWork2/Glagolev_Ruslan_task1.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include <iostream>

int main() {
int number;
int sum = 0;
int count_digit_in_number = 0;

std::cout << "Please enter any number, this program will calculate the sum "
"of the\n";
std::cout << "digits in the number, and Arithmetic mean of the digits of "
"your number-";
std::cin >> number;

while (number != 0) {
sum += number % 10;
number /= 10;
count_digit_in_number++;
}
auto avarage = static_cast<double>(sum) / count_digit_in_number;
std::cout << "The sum of the digits of your number- " << sum << std::endl;
std::cout << "Arithmetic mean of the digits of your number - " << avarage
<< std::endl;

return 0;
}
41 changes: 41 additions & 0 deletions HomeWork2/Glagolev_Ruslan_task2.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#include <iostream>

int main() {
int number;
int first_half_of_the_number = 0;
int second_half_of_the_number = 0;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

обьявляйте переменные по мере их использования, вот зачем тут обьявлять переменные first_half_of_the_number и second_half_of_the_number если реально они будут применяться только после того как вы проверите коректность введенного числа, т.е. проверка что число содержит 6 цифр

int count_digit_in_number = 0;
std::cout << "This program calculates whether your ticket is successful or "
"unsuccessful!\n";
std::cout << "Enter a six-digit number-" << std::endl;
std::cin >> number;
while (number != 0) {
int check_the_number_of_digits = 0;
int c = number;
while (c != 0) {
c /= 10;
check_the_number_of_digits++;
}
if (check_the_number_of_digits != 6) {
std::cout << "The number is not six-digit, enter the six-digit number-"
<< std::endl;
std::cin >> number;
}
break;
}
while (count_digit_in_number < 3) {
first_half_of_the_number += number % 10;
number /= 10;
count_digit_in_number++;
}
while (number != 0) {
second_half_of_the_number += number % 10;
number /= 10;
}
if (second_half_of_the_number == first_half_of_the_number) {
std::cout << "Your ticket is successful";
} else {
std::cout << "Your ticket is no unsuccessful";
}
return 0;
}
28 changes: 28 additions & 0 deletions HomeWork2/Glagolev_Ruslan_task3.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#include <cmath>
#include <iostream>

int main() {
int normal_number;
int check_number;
int multiplicity_of_number = 1;
auto reverse_number = 0;
std::cout << "This program reverses the digits of your number in places.\n";
std::cout << "Enter your number-";
std::cin >> normal_number;
check_number = abs(normal_number);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вот например тут, зачем вверху обьявлять переменную check_number а тут ей присваивать значение почему нельзя сделать сразу
int check_number = abs(normal_number)

while (check_number != 0) {
check_number /= 10;
multiplicity_of_number *= 10;
if (check_number > 0 && check_number < 9) {
check_number = 0;
}
}
while (normal_number != 0) {
reverse_number =
reverse_number + multiplicity_of_number * (normal_number % 10);
normal_number /= 10;
multiplicity_of_number /= 10;
}
std::cout << "reverse number-" << reverse_number;
return 0;
}
25 changes: 25 additions & 0 deletions HomeWork2/Glagolev_Ruslan_task4.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include <iostream>

int main() {
auto sum = 0;
int number_of_digits = 1;
size_t max_iteration{50};
std::cout << "This program calculates the sum of odd numbers in the range \n";
std::cout << "from -60 to 90, and you can enter no more than 50 numbers."
<< std::endl;
while (max_iteration > 0) {
int number;
std::cout << "Enter number " << number_of_digits << ":" << std::endl;
std::cin >> number;
if (number >= -60 && number <= 90) {
if (number % 2 != 0) {
sum += number;
}

++number_of_digits;
--max_iteration;
}
}
std::cout << "Sum of odd elements- " << sum;
return 0;
}
36 changes: 36 additions & 0 deletions HomeWork2/Glagolev_Ruslan_task5.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#include <iostream>

int main() {
long long number;
long long divisor = 0;
long long best_sum_number_divisor = 0;
long long sum_number_divisor = 0;
long long divisor_1;
long long best_divisor;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вот зачем обьявлять все тут переменные??? как думаете удобно смотреть весь список переменных в начале, а потом искать по всему коду где же они применяються. Приучайтесь создавать переменные(обьявлять), перед первым их использованием. Не надо все переменные создавать в начале, а потом ниже в коде их инициализировать, так никто не пишет

std::cout << "This program calculates the best divisor of your number, as "
"well as the best divisor,\n";
std::cout << "based on the sum of the divisor.\n";
std::cout << "Enter tour number- ";
std::cin >> number;
for (long long i = 1; i <= number; ++i) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вместо типа long long в цикле лучше писать size_t

if (number % i == 0) {
std::cout << "Divisor- " << i << "\n";
if (divisor < i) {
divisor = i;
}
divisor_1 = divisor;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

например зачем выносить в начале main обьявление переменной divisor_1, если она реально используеться только внутри цикла. Т.е. это плохо когда вы увеличиваете скоп переменной, когда ее скоп реально есть только тело цикла. Это плохо для читабельности кода

while (divisor_1 > 0) {
sum_number_divisor += divisor_1 % 10;
divisor_1 /= 10;
}
if (sum_number_divisor > best_sum_number_divisor) {
best_sum_number_divisor = sum_number_divisor;
sum_number_divisor = 0;
best_divisor = divisor;
}
}
}
std::cout << "The best divisor your number- " << best_divisor << std::endl;
std::cout << "The best divisor by the sum of the digits -" << best_divisor;
return 0;
}
29 changes: 29 additions & 0 deletions HomeWork2/Glagolev_Ruslan_task6.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#include <iostream>

int main() {
int number;
int skimmer = 0;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

название переменной огонь)

std::cout << "This program draws a Christmas tree with the symbol '*', which "
"will be based on the number you specify.\n";
std::cout << "You need to enter only odd numbers from 0 to 100." << std::endl;
std::cout << "Enter your number-";
std::cin >> number;
while (number % 2 == 0 || number < 0 || number > 100) {
std::cout << "Enter the correct number- ";
std::cin >> number;
}
for (int a = 0; a != (number + 1) / 2; a++) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вместо int привыкайте использовать size_t, и только в редких случаях пишите int

for (int i = 0; i < number; i++) {
int max = i + skimmer;
int min = i - skimmer;
if (max >= number / 2 && min <= number / 2) {
std::cout << "*";
} else {
std::cout << " ";
}
}
std::cout << "\n";
skimmer++;
}
return 0;
}