Готовы научиться программировать в 2018 году? Присоединяйтесь ко мне в 30-дневном путешествии по программированию. С 26 июля 2018 г.

День 0: Привет, мир

#include ‹iostream›

using namespace std;

int main () {

строка input_string; // объявляем переменную для хранения нашего ввода

getline (cin, input_string); // получаем строку ввода из cin и сохраняем ее в нашу переменную

cout ‹

cout ‹

возврат 0;

}

День 1. Типы данных

#include ‹iostream›

using namespace std;

int main () {

int i = 4;

double d = 4.0;

строка s = «HackerRank»; // Объявляем вторые целочисленные, двойные и строковые переменные.

int i2; двойной d2; строка s2; // Чтение и сохранение целого числа, двойного числа и строки в ваших переменных.

строка tmp;

getline (cin, tmp);

i2 = stoi (tmp);

getline (cin, tmp);

d2 = stod (tmp);

getline (cin, s2); // Вывести сумму обеих целочисленных переменных в новую строку.

printf («% i \ n», i + i2); // Вывести сумму двойных переменных в новую строку. printf («%. 1f \ n», d + d2); // Объединение и печать строковых переменных в новой строке

cout ‹* s + s2 ‹

возврат 0;

}

День 2. Операторы

#include ‹cmath›

#include ‹iostream›

using namespace std;

int main () {

строка tmp;

getline (cin, tmp);

double foodCost = stod (tmp);

getline (cin, tmp);

int tipPercent = stoi (tmp);

getline (cin, tmp);

int taxPercent = stoi (tmp);

double tip = tipPercent * foodCost / 100;

двойной налог = taxPercent * foodCost / 100;

int totalCost = (int) round (чаевые + налог + стоимость еды);

printf («Общая стоимость еды составляет% i долларов.», totalCost);

возврат 0;

}

День 3. Введение в условные утверждения

#include ‹iostream›

using namespace std;

int main () {

int N;

cin ›› N;

if (N % 2 != 0)

cout ‹

else {if (N ‹= 5)

cout ‹

иначе, если (N ‹= 20)

cout ‹

else cout ‹

}

}

День 4. Класс против экземпляра

#include ‹iostream›

using namespace std;

класс "Человек" {

public: int age;

Человек (int initialAge);

void amIOld ();

void yearPasses ();

};

Person :: Person (int initialAge) {

// Добавляем еще код для запуска некоторых проверок в initialAge

if (initialAge ›0) age = initialAge;

еще {

cout ‹

age = 0;

}

}

void Person :: amIOld () {

// Выполним здесь некоторые вычисления и распечатаем правильный оператор в консоль

if (возраст ‹13)

cout ‹

else if (возраст ‹18)

cout ‹

else cout ‹

}

void Person :: yearPasses () {

// Увеличиваем возраст человека здесь

age ++;

}

int main () {

int t; int age;

cin ›› t;

for (int i = 0; i ‹t; i ++) {

cin ›› возраст;

Человек p (возраст);

p.amIOld ();

for (int j = 0; j ‹3; j ++) {

p.yearPasses ();

}

p.amIOld ();

cout ‹< ‘\ n’;

}

возврат 0;

}

День 5. Циклы

#include ‹iostream›

using namespace std;

int main () {

int N; cin ›› N;

for (int i = 1; i ‹11; i ++) {

printf («% i x% i =% i \ n», N, i, N * i);

}

возврат 0;

}

День 6. Давайте рассмотрим

#include ‹iostream›

using namespace std;

int main () {

int N; cin ›› N;

for (int i = 0; i ‹N; i ++) {

строка str; cin ›› str;

for (int j = 0; j ‹str.length (); j ++) {

if (j % 2 == 0)

cout ‹< str [j];

}

cout ‹

if (j % 2 != 0)

cout ‹< str [j];

}

cout ‹< endl;

}

возврат 0;

}

День 7. Массивы

#include ‹algorithm›

#include ‹iostream›

using namespace std;

int main () {

int N;

cin ›› N;

int arr [N];

for (int i = 0; i ‹N; i ++) {

cin ›› arr [i];

}

reverse (arr, arr + N);

for (int i = 0; i ‹N; i ++) {

cout ‹< arr [i] ‹* “«;

}

возврат 0;

}

День 8. Словари и карты

#include ‹map›

#include ‹iostream›

используя пространство имен std;

int main () {

int N;

cin ›› N;

map ‹строка, int› phone_book;

for (int i = 0; i ‹N; i ++) {

имя строки;

cin ›› имя;

if (! phone_book [имя]) {

cin ›› phone_book [имя];

}

}

for (int i = 0; i ‹N; i ++) {

имя строки;

cin ›› имя;

if (phone_book [имя]) {

cout ‹* name ‹* “=” ‹< phone_book [name] ‹* endl;

}

еще {

cout ‹---------------- «Не найдено» ‹< endl;

}

}

возврат 0; }

День 9: Рекурсия 3

#include ‹iostream›

используя пространство имен std;

int factorial (int n) {

если (n == 1) вернуть 1;

вернуть факториал (n - 1) * n;}

int main () {

int N;

cin ›› N;

cout ‹

возврат 0;

}

День 10: двоичные числа

#include ‹iostream›

используя пространство имен std;

int main () {

int n;

cin ›› n;

int sum = 0;

int max = 0;

while (n ›0) {

if (n % 2 == 1) {

сумма ++;

если (сумма ›макс) макс = сумма;

} еще сумма = 0;

n = n / 2;

}

cout ‹---------------- макс;

возврат 0;

}

День 11: 2D-массивы

#include ‹iostream›

#include ‹vector›

используя пространство имен std;

int main () {

вектор ‹вектор ‹int›› arr (6, vector ‹int› (6));

for (int i = 0; i ‹6; i ++) {

для (int j = 0; j ‹6; j ++) {cin ›› arr [i] [j];

} }

int max = -9 * 7;

for (int i = 0; i ‹6; i ++) {

for (int j = 0; j ‹6; j ++) {

if (j + 2 ‹6 && i + 2‹ 6) {

int sum = arr [i] [j] + arr [i] [j + 1] + arr [i] [j + 2] + arr [i + 1] [j + 1] + arr [i + 2] [ j] + arr [i + 2] [j + 1] + arr [i + 2] [j + 2];

если (сумма ›макс) макс = сумма;

}

}

}

cout ‹---------------- макс;

возврат 0;

}

День 12: Наследование

#include ‹iostream›

#include ‹vector›

используя пространство имен std;

class Person {

защищено:

строка firstName;

строка lastName;

int id;

общественность:

Человек (строка firstName, строка lastName, идентификатор int) {this- ›firstName = firstName;

this- ›lastName = lastName;

this- ›id = идентификация;

}

void printPerson () {

cout ‹

}

};

class Student: public Person {

частный:

вектор ‹int› testScores;

общественность:

// Напишите свой конструктор

Студент (строка firstName, строка lastName, int id, вектор ‹int› оценки): человек (firstName, lastName, id)

{

this- ›testScores = баллы;

}

// Записываем char calculate ()

char calculate () {

int total = 0;

for (int i = 0; i ‹this-› testScores.size ();

i++)

total + = this- ›testScores [i];

int avg = (int) (всего / testScores.size ());

if (avg ›= 90 && avg‹ = 100) вернуть «O»;

if (avg ›= 80 && avg‹ 90) вернуть «E»;

if (avg ›= 70 && avg‹ 80) вернуть «A»;

if (avg ›= 55 && avg‹ 70) вернуть «P»;

if (avg ›= 40 && avg‹ 55) вернуть «D»;

вернуть "T";

}

};

int main () {

строка firstName;

строка lastName;

int id;

int numScores;

cin ›› firstName ›› lastName ›› id ›› numScores;

вектор ‹int› баллы;

for (int i = 0; i ‹numScores; i ++) {

int tmpScore;

cin ›› tmpScore;

scores.push_back (tmpScore);

}

Студент * s = новый студент (имя, фамилия, идентификатор, баллы);

s- ›printPerson ();

cout ‹

возврат 0;

}