Сегодня выйдет вторая часть поста, который выходил 3 месяца назад. И я снова будут брать задачи с курса по питону и переводить уже в CPP. Ещё скажу, что это не совсем перевод. Я просто буду показывать, как те, или иные задачи решались с помощью CPP. Причём весь код, а не основную часть.
О языке.
CPP - компилируемый, типизированный, c-подобный, низкоуровневый язык программирования. Поддерживает П.П., О.О.П. и О.П. Включает множество разных функций. Широко используется для... всего. От разработки программного обеспечения, до создания игр (Unreal Engine, например).
Задача: Hello, world!
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!\n";
}
Она довольно простая. В ней используется библиотека iostream и пространство имён std.
Задача: Экзаменатор
Вот, как она выглядит:
#include <iostream>
#include <ctime>
using namespace std;
int random(int start, int stop) {
return rand() % (stop - 1) start;
}
int main()
{
setlocale(LC_ALL, "Rus");
srand(time(NULL));
int success = 0;
for (int i = 0; i < 5; i )
{
int a = random(1, 9);
int b = random(1, 9);
cout << a << " " << b << " = ";
int answer;
cin >> answer;
if (answer == a b) {
success ;
cout << "Верно!\n";
}
else {
cout << "Неверно!\n";
}
}
cout << "Правильных ответов: " << success;
}
Эта задача уже заметно сложнее (кто бы мог подумать). Она использует две библиотеки iostream и ctime. И генератор псевдослучайных чисел.
Задача: Инвестиционный калькулятор
Вот эта задача уже сложнее. Даже не в написании кода. Для её выполнения нужно быть внимательным и знать типы данных.
#include <iostream>
#include <math.h>
using namespace std;
double investment(double balance, int years, int percent = 10) {
double number = balance;
for (int year = 0; year < years; year )
{
number = (number / 100 * percent);
}
return round(number * 100) / 100;
}
int main()
{
cout << investment(100, 25) << endl;
}
Просто изначально я использовал тип int, вместо double. Многие сейчас вообще ничего не поняли. В более низкоуровневых (сложных) языках перед переменными нужно указывать тип значения. К примеру, int - число(целое), а string - обычная строка. А double отличается от int тем, что он может хранить дробные числа.
Задача: Количество вхождений числа в списке
Она не такая сложная, но так как C довольно "капризный", пришлось с ней повозиться.
#include <iostream>
using namespace std;
int count_times(int list[], int num, int size) {
int count = 0;
for (int i = 0; i < size; i )
{
if (list[i] == num) {
count ;
}
}
return count;
}
int main()
{
int list[8] { 15,732,4,7,9,7,5,2}; // Для примера
int num = count_times(list, 7, sizeof(list) / sizeof(int));
cout << num;
}
Проблема была в том, что в функциях, находящихся за main, функция sizeof не хотела нормально работать.
На этом сегодня всё. Если вы хотите, могу написать 3-ю часть с языком C, но для этого нужно набрать немало лайков. Обязательно подписывайтесь на мой профиль, чтобы не пропустить следующие посты!
