Готовы научиться программировать в 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;
}